X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=shaderlib%2Fmsp_interface.glsl;h=d8de5d240b90f6c416cac9a7b7cc37a361debe1c;hb=adc26a2e141a2853b6c5025130c46a46cece4b84;hp=2458b97d6b2d08e36de81c6e3f2397b32c930aa8;hpb=68b74ce23dd20822b07d79dc25aa0a0a19ef27a5;p=libs%2Fgl.git diff --git a/shaderlib/msp_interface.glsl b/shaderlib/msp_interface.glsl index 2458b97d..d8de5d24 100644 --- a/shaderlib/msp_interface.glsl +++ b/shaderlib/msp_interface.glsl @@ -1,8 +1,8 @@ struct LightSourceParameters { vec4 position; - vec4 diffuse; - vec4 specular; + vec3 color; + int type; }; struct ClipPlane @@ -10,27 +10,27 @@ struct ClipPlane vec4 equation; }; -uniform mat4 eye_obj_matrix; -uniform mat3 eye_obj_normal_matrix; -uniform Transform +uniform mat4 world_obj_matrix; +uniform mat3 world_obj_normal_matrix; +uniform CameraTransform { mat4 eye_world_matrix; - mat4 projection_matrix; + mat4 world_eye_matrix; + mat4 clip_eye_matrix; + mat4 eye_clip_matrix; }; +layout(constant_id=auto) const int max_lights = 4; uniform Lighting { - // Declared as an array for compatibility reasons - LightSourceParameters light_sources[1]; + LightSourceParameters light_sources[max_lights]; vec4 ambient_color; - vec4 sky_color; - vec3 eye_zenith_dir; - float horizon_limit; vec4 fog_color; float fog_density; }; -layout(constant_id=auto) const int max_clip_planes = 0; +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]; @@ -41,11 +41,12 @@ 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 vec3 binormal; -layout(location=7) in vec4 texcoord; -layout(location=8) in vec4 texcoord1; -layout(location=9) in vec4 texcoord2; -layout(location=10) in vec4 texcoord3; +layout(location=4) in ivec4 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)