-struct LightSourceParameters
+layout(push_constant) uniform ObjectTransform
{
- vec4 position;
- vec3 color;
- int type;
- vec3 attenuation;
+ mat4 world_obj_matrix;
+ mat3 world_obj_normal_matrix;
};
-
-struct ClipPlane
-{
- vec4 equation;
-};
-
-uniform mat4 world_obj_matrix;
-uniform mat3 world_obj_normal_matrix;
-uniform CameraTransform
+layout(set=0) uniform CameraTransform
{
mat4 eye_world_matrix;
mat4 world_eye_matrix;
mat4 eye_clip_matrix;
};
-layout(constant_id=auto) const int max_lights = 4;
-uniform Lighting
-{
- LightSourceParameters light_sources[max_lights];
- vec4 ambient_color;
- vec4 fog_color;
- 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=2) in vec3 normal;
layout(location=3) in vec3 tangent;
-layout(location=4) in ivec4 group;
+layout(location=4) in uvec4 group;
layout(location=5) in vec4 weight;
layout(location=6) in vec4 texcoord;
layout(location=7) in vec4 texcoord1;