Files
Destrum/destrum/assets_src/shaders/scene_data.glsl
T

50 lines
1006 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;
// spot shadows
uint spotShadowAtlasId;
uint spotShadowTilesPerRow;
SpotShadow spotShadows[MAX_SPOT_SHADOWS];
} sceneDataBuffer;
#endif // SCENE_DATA_GLSL