vec3 attenuation;
};
-struct ClipPlane
+layout(push_constant) uniform ObjectTransform
{
- vec4 equation;
+ mat4 world_obj_matrix;
+ mat3 world_obj_normal_matrix;
};
-
-uniform mat4 world_obj_matrix;
-uniform mat3 world_obj_normal_matrix;
uniform CameraTransform
{
mat4 eye_world_matrix;
mat4 eye_clip_matrix;
};
-layout(constant_id=auto) const int max_lights = 4;
+const int max_lights = 6;
uniform Lighting
{
LightSourceParameters light_sources[max_lights];
float fog_density;
};
-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=1) in vec4 color;
layout(location=8) in vec4 texcoord2;
layout(location=9) in vec4 texcoord3;
layout(location=13) in vec4 instance_transform[3];
-
-#pragma MSP stage(fragment)
-layout(location=0) out vec4 frag_color;