X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=shaderlib%2Fmsp_interface.glsl;h=5ecb4f82631c365817fbb1ecd956bcf503e13250;hb=a741acd5c501c03de5181656498d2bcbe0df9157;hp=6c229da0f32da92fc9bd76db74241a5542fba478;hpb=5008778dbb1840bf7c6d479800d2b932f8386fb2;p=libs%2Fgl.git diff --git a/shaderlib/msp_interface.glsl b/shaderlib/msp_interface.glsl index 6c229da0..5ecb4f82 100644 --- a/shaderlib/msp_interface.glsl +++ b/shaderlib/msp_interface.glsl @@ -2,16 +2,16 @@ 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; @@ -19,22 +19,15 @@ uniform CameraTransform mat4 eye_clip_matrix; }; -uniform Lighting +const int max_lights = 6; +layout(set=0) uniform Lighting { - // Declared as an array for compatibility reasons - LightSourceParameters light_sources[1]; + 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; @@ -47,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;