45 lines
879 B
GLSL
45 lines
879 B
GLSL
#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
|