X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=shaderlib%2Fmsp_interface.glsl;h=3fdd606b1b51f70585fc9fd619133b13e63a46b3;hb=b4fe073653da9e27bf486b1b4366fe44b6138bb4;hp=e35b984845cf318fc0ec70b9b18042719ab6f12e;hpb=82282de52e8e8f3bbafefaf92bf76f53f2c2495e;p=libs%2Fgl.git diff --git a/shaderlib/msp_interface.glsl b/shaderlib/msp_interface.glsl index e35b9848..3fdd606b 100644 --- a/shaderlib/msp_interface.glsl +++ b/shaderlib/msp_interface.glsl @@ -2,6 +2,8 @@ struct LightSourceParameters { vec4 position; vec3 color; + int type; + vec3 attenuation; }; struct ClipPlane @@ -11,20 +13,19 @@ struct ClipPlane uniform mat4 world_obj_matrix; uniform mat3 world_obj_normal_matrix; -uniform Transform +uniform CameraTransform { mat4 eye_world_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 world_zenith_dir; - float horizon_limit; vec4 fog_color; float fog_density; }; @@ -41,13 +42,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 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) -layout(location=0) out vec4 frag_color;