vec4 specular;
};
-struct MaterialParameters
-{
- vec4 ambient;
- vec4 diffuse;
- vec4 specular;
- float shininess;
-};
-
struct ClipPlane
{
vec4 equation;
mat4 projection_matrix;
};
-uniform Material
-{
- MaterialParameters material;
- float reflectivity;
-};
-
uniform Lighting
{
// Declared as an array for compatibility reasons
float fog_density;
};
-uniform sampler2D diffuse_map;
-uniform sampler2D normal_map;
-
-uniform sampler2DShadow shadow;
-uniform ShadowMap
-{
- float shadow_darkness;
- mat4 shd_eye_matrix;
-};
-
-uniform samplerCube environment;
-uniform EnvMap
-{
- mat3 env_eye_matrix;
-};
-
-const int max_clip_planes = 0;
+layout(constant_id=auto) const bool use_clipping = false;
+layout(constant_id=auto) const int max_clip_planes = 8;
uniform Clipping
{
ClipPlane clip_planes[max_clip_planes];
#pragma MSP stage(vertex)
layout(location=0) in vec4 vertex;
-layout(location=8) in vec4 texcoord;
-layout(location=3) in vec4 color;
+layout(location=1) in vec4 color;
layout(location=2) in vec3 normal;
-layout(location=4) in vec3 tangent;
-layout(location=5) in vec3 binormal;
+layout(location=3) in vec3 tangent;
+layout(location=4) in vec3 binormal;
+layout(location=7) in vec4 texcoord;
+layout(location=8) in vec4 texcoord1;
+layout(location=9) in vec4 texcoord2;
+layout(location=10) in vec4 texcoord3;
+layout(location=13) in vec4 instance_transform[3];
#pragma MSP stage(fragment)
layout(location=0) out vec4 frag_color;