stk-code_catmod/data/shaders/header.txt
Benau 57d9e83ed4 First version of hardware skinning
Todo: shadow, non-instanced shaders, culling, changeable offset...
2016-12-07 02:15:11 +08:00

74 lines
1.3 KiB
Plaintext

#ifndef HEADER_TXT
#define HEADER_TXT
#ifdef UBO_DISABLED
uniform mat4 ViewMatrix;
uniform mat4 ProjectionMatrix;
uniform mat4 InverseViewMatrix;
uniform mat4 InverseProjectionMatrix;
uniform mat4 ProjectionViewMatrix;
uniform vec2 screen;
uniform vec3 sun_direction;
uniform vec3 sun_col;
uniform float sun_angle;
uniform float blueLmn[9];
uniform float greenLmn[9];
uniform float redLmn[9];
#else
layout (std140) uniform MatrixesData
{
mat4 ViewMatrix;
mat4 ProjectionMatrix;
mat4 InverseViewMatrix;
mat4 InverseProjectionMatrix;
mat4 ProjectionViewMatrix;
mat4 ShadowViewProjMatrixes[4];
vec2 screen;
};
// Expand because of catalyst (14.12) not correctly associating array in UBO
layout (std140) uniform LightingData
{
vec3 sun_direction;
vec3 sun_col;
float sun_angle;
float bL00;
float bL1m1;
float bL10;
float bL11;
float bL2m2;
float bL2m1;
float bL20;
float bL21;
float bL22;
float gL00;
float gL1m1;
float gL10;
float gL11;
float gL2m2;
float gL2m1;
float gL20;
float gL21;
float gL22;
float rL00;
float rL1m1;
float rL10;
float rL11;
float rL2m2;
float rL2m1;
float rL20;
float rL21;
float rL22;
};
layout (std140) uniform SkinningData
{
mat4 joint_matrices[1000];
};
#endif
#endif // HEADER_TXT