You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-22 15:06:45 +00:00
Add optional depth fog
This commit is contained in:
@@ -168,11 +168,16 @@ void RenderSceneDataRD::update_ubo(RID p_uniform_buffer, RS::ViewportDebugDraw p
|
||||
}
|
||||
|
||||
ubo.fog_enabled = render_scene_render->environment_get_fog_enabled(p_env);
|
||||
ubo.fog_mode = render_scene_render->environment_get_fog_mode(p_env);
|
||||
ubo.fog_density = render_scene_render->environment_get_fog_density(p_env);
|
||||
ubo.fog_height = render_scene_render->environment_get_fog_height(p_env);
|
||||
ubo.fog_height_density = render_scene_render->environment_get_fog_height_density(p_env);
|
||||
ubo.fog_aerial_perspective = render_scene_render->environment_get_fog_aerial_perspective(p_env);
|
||||
|
||||
ubo.fog_depth_curve = render_scene_render->environment_get_fog_depth_curve(p_env);
|
||||
ubo.fog_depth_end = render_scene_render->environment_get_fog_depth_end(p_env) > 0.0 ? render_scene_render->environment_get_fog_depth_end(p_env) : ubo.z_far;
|
||||
ubo.fog_depth_begin = MIN(render_scene_render->environment_get_fog_depth_begin(p_env), ubo.fog_depth_end - 0.001);
|
||||
|
||||
Color fog_color = render_scene_render->environment_get_fog_light_color(p_env).srgb_to_linear();
|
||||
float fog_energy = render_scene_render->environment_get_fog_light_energy(p_env);
|
||||
|
||||
|
||||
@@ -131,26 +131,31 @@ private:
|
||||
|
||||
// Fog
|
||||
uint32_t fog_enabled;
|
||||
uint32_t fog_mode;
|
||||
float fog_density;
|
||||
float fog_height;
|
||||
|
||||
float fog_height_density;
|
||||
float fog_depth_curve;
|
||||
float pad;
|
||||
float fog_depth_begin;
|
||||
|
||||
float fog_light_color[3];
|
||||
float fog_sun_scatter;
|
||||
float fog_depth_end;
|
||||
|
||||
float fog_sun_scatter;
|
||||
float fog_aerial_perspective;
|
||||
float time;
|
||||
float reflection_multiplier;
|
||||
uint32_t material_uv2_mode;
|
||||
|
||||
float taa_jitter[2];
|
||||
uint32_t material_uv2_mode;
|
||||
float emissive_exposure_normalization; // Needed to normalize emissive when using physical units.
|
||||
float IBL_exposure_normalization; // Adjusts for baked exposure.
|
||||
|
||||
float IBL_exposure_normalization; // Adjusts for baked exposure.
|
||||
uint32_t pancake_shadows;
|
||||
uint32_t camera_visible_layers;
|
||||
float pass_alpha_multiplier;
|
||||
uint32_t pad3;
|
||||
};
|
||||
|
||||
struct UBODATA {
|
||||
|
||||
Reference in New Issue
Block a user