Add agx_white, agx_contrast and HDR support to the AgX tonemapper.
Also optimize all tonemappers to perform less calculations per-pixel. Note: unlike `white`, `agx_white` is limited to a minimum of `2.0` and defaults to `16.29`. When using a RGB10A2 render buffer, `agx_white` will be ignored and a value of `2.0` will be used instead to ensure good behavior on the Mobile renderer.
This commit is contained in:
@@ -373,8 +373,20 @@ float RendererSceneRender::environment_get_exposure(RID p_env) const {
|
||||
return environment_storage.environment_get_exposure(p_env);
|
||||
}
|
||||
|
||||
float RendererSceneRender::environment_get_white(RID p_env) const {
|
||||
return environment_storage.environment_get_white(p_env);
|
||||
float RendererSceneRender::environment_get_white(RID p_env, bool p_limit_agx_white) const {
|
||||
return environment_storage.environment_get_white(p_env, p_limit_agx_white);
|
||||
}
|
||||
|
||||
void RendererSceneRender::environment_set_tonemap_agx_contrast(RID p_env, float p_agx_contrast) {
|
||||
environment_storage.environment_set_tonemap_agx_contrast(p_env, p_agx_contrast);
|
||||
}
|
||||
|
||||
float RendererSceneRender::environment_get_tonemap_agx_contrast(RID p_env) const {
|
||||
return environment_storage.environment_get_tonemap_agx_contrast(p_env);
|
||||
}
|
||||
|
||||
RendererEnvironmentStorage::TonemapParameters RendererSceneRender::environment_get_tonemap_parameters(RID p_env, bool p_limit_agx_white) const {
|
||||
return environment_storage.environment_get_tonemap_parameters(p_env, p_limit_agx_white);
|
||||
}
|
||||
|
||||
// Fog
|
||||
|
||||
Reference in New Issue
Block a user