mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-11-01 05:42:44 +01:00
Cull shadow and reflection passes on the GPU
This commit is contained in:
@@ -1454,6 +1454,16 @@ global_settings::ConfigParse_gfx( cParser &Parser, std::string_view const Token
|
||||
Parser.getTokens(1);
|
||||
Parser >> gfx_gpucull_multidraw;
|
||||
}
|
||||
else if (Token == "gfx.gpucull.shadows")
|
||||
{
|
||||
Parser.getTokens(1);
|
||||
Parser >> gfx_gpucull_shadows;
|
||||
}
|
||||
else if (Token == "gfx.gpucull.reflections")
|
||||
{
|
||||
Parser.getTokens(1);
|
||||
Parser >> gfx_gpucull_reflections;
|
||||
}
|
||||
else if (Token == "gfx.depthprepass.scene")
|
||||
{
|
||||
Parser.getTokens(1);
|
||||
@@ -1950,6 +1960,8 @@ global_settings::export_as_text( std::ostream &Output ) const {
|
||||
export_as_text( Output, "gfx.gpucull.occlusion.instances", gfx_gpucull_occlusion_instances );
|
||||
export_as_text( Output, "gfx.depthprepass", gfx_depthprepass );
|
||||
export_as_text( Output, "gfx.gpucull.multidraw", gfx_gpucull_multidraw );
|
||||
export_as_text( Output, "gfx.gpucull.shadows", gfx_gpucull_shadows );
|
||||
export_as_text( Output, "gfx.gpucull.reflections", gfx_gpucull_reflections );
|
||||
export_as_text( Output, "gfx.depthprepass.scene", gfx_depthprepass_scene );
|
||||
export_as_text( Output, "gfx.bufferstreaming", gfx_bufferstreaming );
|
||||
export_as_text( Output, "gfx.postfx.motionblur.enabled", gfx_postfx_motionblur_enabled );
|
||||
|
||||
@@ -294,6 +294,10 @@ struct global_settings {
|
||||
// with gfx_gpucull 1: the draws of the instances which follow one another with the same material and geometry bank are
|
||||
// made with one multi draw, their model blocks read from a storage buffer by the number of the draw
|
||||
bool gfx_gpucull_multidraw = true;
|
||||
// with gfx_gpucull 1 or 2: the instances of the cascades of the sun shadows and of the faces of the environment map are
|
||||
// culled in compute passes as well (drawn from their result, or compared), not only those of the main view
|
||||
bool gfx_gpucull_shadows = true;
|
||||
bool gfx_gpucull_reflections = true;
|
||||
// (opengl 4.6) the depth of the whole opaque scene of the main view is drawn before its colour, the instances included
|
||||
bool gfx_depthprepass_scene = false;
|
||||
// (opengl 4.6) the model block of every draw and the matrices of instances are written to persistently mapped buffers,
|
||||
|
||||
Reference in New Issue
Block a user