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

Tonemapping ported (not all parameters supported yet, only enough to get correct color)

This commit is contained in:
Juan Linietsky
2019-08-27 15:27:35 -03:00
parent 2d6a916835
commit 1d871f6226
9 changed files with 583 additions and 2 deletions

View File

@@ -1912,7 +1912,23 @@ void RasterizerSceneForwardRD::_render_scene(RenderBufferData *p_buffer_data, co
}
RasterizerEffectsRD *effects = storage->get_effects();
effects->copy(render_buffer->color, storage->render_target_get_rd_framebuffer(render_buffer->render_target), Rect2());
{
//tonemap
RasterizerEffectsRD::TonemapSettings tonemap;
tonemap.color_correction_texture = storage->texture_rd_get_default(RasterizerStorageRD::DEFAULT_RD_TEXTURE_3D_WHITE);
tonemap.exposure_texture = storage->texture_rd_get_default(RasterizerStorageRD::DEFAULT_RD_TEXTURE_WHITE);
tonemap.glow_texture = storage->texture_rd_get_default(RasterizerStorageRD::DEFAULT_RD_TEXTURE_BLACK);
if (is_environment(p_environment)) {
tonemap.tonemap_mode = environment_get_tonemapper(p_environment);
tonemap.white = environment_get_white(p_environment);
tonemap.exposure = environment_get_exposure(p_environment);
}
effects->tonemapper(render_buffer->color, storage->render_target_get_rd_framebuffer(render_buffer->render_target), tonemap);
}
storage->render_target_disable_clear_request(render_buffer->render_target);
#if 0