#ifndef SCENE_DATA_GLSL #define SCENE_DATA_GLSL #extension GL_EXT_scalar_block_layout: require #extension GL_EXT_buffer_reference : require #include "materials.glsl" #include "lights.glsl" // Must match GameRenderer::GPUSceneData layout (buffer_reference, scalar) readonly buffer SceneDataBuffer { // camera mat4 view; mat4 proj; mat4 invProj; mat4 viewProj; vec4 cameraPos; // ambient vec3 ambientColor; float ambientIntensity; // fog vec3 fogColor; float fogDensity; MaterialsBuffer materials; // forward+ LightsBuffer lights; TileLightIndicesBuffer tileLightIndices; uint numLights; uint tileCountX; uint debugLightHeatmap; // directional shadows uint shadowMapId; float shadowNormalOffset; uint padding; mat4 lightViewProj; } sceneDataBuffer; #endif // SCENE_DATA_GLSL