diff options
| author | Rémi Verschelde <rverschelde@gmail.com> | 2023-04-13 09:52:40 +0200 |
|---|---|---|
| committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-04-13 09:52:40 +0200 |
| commit | 8b31811b2d72892207038dc05db37a6eab2c9f15 (patch) | |
| tree | 0079e94ccb124235c88778a57cda7fe5588fce07 /servers | |
| parent | ab5fab922efccc8573777d45dc79e858ab877606 (diff) | |
| parent | 9be0a73294b377abbef316805abc26dfeab03fb3 (diff) | |
| download | redot-engine-8b31811b2d72892207038dc05db37a6eab2c9f15.tar.gz | |
Merge pull request #71364 from clayjohn/exposure-builtin
Add EXPOSURE built in to spatial shaders
Diffstat (limited to 'servers')
3 files changed, 3 insertions, 0 deletions
diff --git a/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp b/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp index 7de7af2812..f2d7e056dd 100644 --- a/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp +++ b/servers/rendering/renderer_rd/forward_clustered/scene_shader_forward_clustered.cpp @@ -584,6 +584,7 @@ void SceneShaderForwardClustered::init(const String p_defines) { //builtins actions.renames["TIME"] = "global_time"; + actions.renames["EXPOSURE"] = "(1.0 / scene_data_block.data.emissive_exposure_normalization)"; actions.renames["PI"] = _MKSTR(Math_PI); actions.renames["TAU"] = _MKSTR(Math_TAU); actions.renames["E"] = _MKSTR(Math_E); diff --git a/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp b/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp index b671c0c0ca..6e753824ab 100644 --- a/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp +++ b/servers/rendering/renderer_rd/forward_mobile/scene_shader_forward_mobile.cpp @@ -474,6 +474,7 @@ void SceneShaderForwardMobile::init(const String p_defines) { //builtins actions.renames["TIME"] = "scene_data_block.data.time"; + actions.renames["EXPOSURE"] = "(1.0 / scene_data_block.data.emissive_exposure_normalization)"; actions.renames["PI"] = _MKSTR(Math_PI); actions.renames["TAU"] = _MKSTR(Math_TAU); actions.renames["E"] = _MKSTR(Math_E); diff --git a/servers/rendering/shader_types.cpp b/servers/rendering/shader_types.cpp index 56d00fa1bb..0a5fd9d180 100644 --- a/servers/rendering/shader_types.cpp +++ b/servers/rendering/shader_types.cpp @@ -59,6 +59,7 @@ ShaderTypes::ShaderTypes() { /*************** SPATIAL ***********************/ shader_modes[RS::SHADER_SPATIAL].functions["global"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT); + shader_modes[RS::SHADER_SPATIAL].functions["global"].built_ins["EXPOSURE"] = constt(ShaderLanguage::TYPE_FLOAT); shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["PI"] = constt(ShaderLanguage::TYPE_FLOAT); shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["TAU"] = constt(ShaderLanguage::TYPE_FLOAT); shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["E"] = constt(ShaderLanguage::TYPE_FLOAT); |
