]> git.tdb.fi Git - libs/gl.git/blobdiff - shaderlib/msp_interface.glsl
Annotate uniforms with descriptor set layout qualifiers
[libs/gl.git] / shaderlib / msp_interface.glsl
index d8de5d240b90f6c416cac9a7b7cc37a361debe1c..5ecb4f82631c365817fbb1ecd956bcf503e13250 100644 (file)
@@ -3,16 +3,15 @@ struct LightSourceParameters
        vec4 position;
        vec3 color;
        int type;
+       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
+layout(set=0) uniform CameraTransform
 {
        mat4 eye_world_matrix;
        mat4 world_eye_matrix;
@@ -20,8 +19,8 @@ uniform CameraTransform
        mat4 eye_clip_matrix;
 };
 
-layout(constant_id=auto) const int max_lights = 4;
-uniform Lighting
+const int max_lights = 6;
+layout(set=0) uniform Lighting
 {
        LightSourceParameters light_sources[max_lights];
        vec4 ambient_color;
@@ -29,13 +28,6 @@ uniform Lighting
        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;
@@ -48,6 +40,3 @@ layout(location=7) in vec4 texcoord1;
 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;