1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-12 13:20:55 +00:00

Better GIProbe quality settings.

This commit is contained in:
Juan Linietsky
2019-10-03 20:15:38 -03:00
parent fa548b052e
commit 965185c765
8 changed files with 83 additions and 56 deletions

View File

@@ -1866,8 +1866,6 @@ void RasterizerSceneForwardRD::_render_scene(RenderBufferData *p_buffer_data, co
}
}
RENDER_TIMESTAMP("Render Opaque Pass");
_setup_render_pass_uniform_set(RID(), RID(), RID(), RID(), radiance_cubemap, p_shadow_atlas, p_reflection_atlas);
render_list.sort_by_key(false);
@@ -1880,11 +1878,13 @@ void RasterizerSceneForwardRD::_render_scene(RenderBufferData *p_buffer_data, co
bool depth_pre_pass = depth_framebuffer.is_valid();
if (depth_pre_pass) { //depth pre pass
RENDER_TIMESTAMP("Render Depth Pre-Pass");
RD::DrawListID draw_list = RD::get_singleton()->draw_list_begin(depth_framebuffer, RD::INITIAL_ACTION_CLEAR, RD::FINAL_ACTION_CONTINUE, RD::INITIAL_ACTION_CLEAR, RD::FINAL_ACTION_CONTINUE);
_render_list(draw_list, RD::get_singleton()->framebuffer_get_format(depth_framebuffer), render_list.elements, render_list.element_count, false, PASS_MODE_DEPTH, render_buffer == nullptr);
RD::get_singleton()->draw_list_end();
}
RENDER_TIMESTAMP("Render Opaque Pass");
{
bool will_continue = (can_continue || draw_sky || debug_giprobes);
@@ -2365,9 +2365,13 @@ RasterizerSceneForwardRD::RasterizerSceneForwardRD(RasterizerStorageRD *p_storag
slot_count *= 3;
defines += "\n#define GI_PROBE_USE_ANISOTROPY\n";
}
if (gi_probe_is_high_quality()) {
if (gi_probe_get_quality() == GIPROBE_QUALITY_ULTRA_LOW) {
defines += "\n#define GI_PROBE_LOW_QUALITY\n";
} else if (gi_probe_get_quality() == GIPROBE_QUALITY_HIGH) {
defines += "\n#define GI_PROBE_HIGH_QUALITY\n";
}
defines += "\n#define MAX_GI_PROBE_TEXTURES " + itos(slot_count) + "\n";
uint32_t giprobe_buffer_size;