12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- // Scene data stores all our 3D rendering globals for a frame such as our matrices
- // where this information is independent of the different RD implementations.
- // This enables us to use this UBO in our main scene render shaders but also in
- // effects that need access to this data.
- struct SceneData {
- highp mat4 projection_matrix;
- highp mat4 inv_projection_matrix;
- highp mat4 inv_view_matrix;
- highp mat4 view_matrix;
- // only used for multiview
- highp mat4 projection_matrix_view[MAX_VIEWS];
- highp mat4 inv_projection_matrix_view[MAX_VIEWS];
- highp vec4 eye_offset[MAX_VIEWS];
- highp vec2 viewport_size;
- highp vec2 screen_pixel_size;
- // Use vec4s because std140 doesn't play nice with vec2s, z and w are wasted.
- highp vec4 directional_penumbra_shadow_kernel[32];
- highp vec4 directional_soft_shadow_kernel[32];
- highp vec4 penumbra_shadow_kernel[32];
- highp vec4 soft_shadow_kernel[32];
- mediump mat3 radiance_inverse_xform;
- mediump vec4 ambient_light_color_energy;
- mediump float ambient_color_sky_mix;
- bool use_ambient_light;
- bool use_ambient_cubemap;
- bool use_reflection_cubemap;
- highp vec2 shadow_atlas_pixel_size;
- highp vec2 directional_shadow_pixel_size;
- uint directional_light_count;
- mediump float dual_paraboloid_side;
- highp float z_far;
- highp float z_near;
- bool roughness_limiter_enabled;
- mediump float roughness_limiter_amount;
- mediump float roughness_limiter_limit;
- mediump float opaque_prepass_threshold;
- bool fog_enabled;
- highp float fog_density;
- highp float fog_height;
- highp float fog_height_density;
- mediump vec3 fog_light_color;
- mediump float fog_sun_scatter;
- mediump float fog_aerial_perspective;
- highp float time;
- mediump float reflection_multiplier; // one normally, zero when rendering reflections
- bool material_uv2_mode;
- vec2 taa_jitter;
- float emissive_exposure_normalization;
- float IBL_exposure_normalization;
- bool pancake_shadows;
- uint camera_visible_layers;
- float pass_alpha_multiplier;
- uint pad3;
- };
|