X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=shaderlib%2Fmsp_interface.glsl;h=5f391bb5fa882ca39897509974aba622c2b587c2;hp=ed40aa4a18c0975a1829c93a45cc3fe6ecf2ea49;hb=HEAD;hpb=ab786f1f6ea398fe0b91d6ec7c039468a90c044b diff --git a/shaderlib/msp_interface.glsl b/shaderlib/msp_interface.glsl index ed40aa4a..2b878b2b 100644 --- a/shaderlib/msp_interface.glsl +++ b/shaderlib/msp_interface.glsl @@ -1,40 +1,14 @@ -struct LightSourceParameters +layout(push_constant) uniform ObjectTransform { - vec4 position; - vec4 diffuse; - vec4 specular; + mat4 world_obj_matrix; + mat3 world_obj_normal_matrix; }; - -struct ClipPlane -{ - vec4 equation; -}; - -uniform mat4 eye_obj_matrix; -uniform mat3 eye_obj_normal_matrix; -uniform Transform +layout(set=0) uniform CameraTransform { mat4 eye_world_matrix; - mat4 projection_matrix; -}; - -uniform Lighting -{ - // Declared as an array for compatibility reasons - LightSourceParameters light_sources[1]; - vec4 ambient_color; - vec4 sky_color; - vec3 eye_zenith_dir; - float horizon_limit; - 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]; + mat4 world_eye_matrix; + mat4 clip_eye_matrix; + mat4 eye_clip_matrix; }; #pragma MSP stage(vertex) @@ -42,13 +16,10 @@ 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 vec4 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; 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;