X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=shaderlib%2Fmsp_interface.glsl;h=5ecb4f82631c365817fbb1ecd956bcf503e13250;hb=a741acd5c501c03de5181656498d2bcbe0df9157;hp=e606edf94a55e24f4956c2fab0fb5ad15aa9011a;hpb=f0293969980969f5b19a2a3c665ea068617dab49;p=libs%2Fgl.git diff --git a/shaderlib/msp_interface.glsl b/shaderlib/msp_interface.glsl index e606edf9..5ecb4f82 100644 --- a/shaderlib/msp_interface.glsl +++ b/shaderlib/msp_interface.glsl @@ -1,77 +1,42 @@ struct LightSourceParameters { vec4 position; - vec4 diffuse; - vec4 specular; + vec3 color; + int type; + vec3 attenuation; }; -struct MaterialParameters +layout(push_constant) uniform ObjectTransform { - vec4 ambient; - vec4 diffuse; - vec4 specular; - float shininess; + mat4 world_obj_matrix; + mat3 world_obj_normal_matrix; }; - -struct ClipPlane +layout(set=0) uniform CameraTransform { - vec4 equation; + mat4 eye_world_matrix; + mat4 world_eye_matrix; + mat4 clip_eye_matrix; + mat4 eye_clip_matrix; }; -uniform mat4 eye_obj_matrix; -uniform mat3 eye_obj_normal_matrix; -uniform Transform +const int max_lights = 6; +layout(set=0) uniform Lighting { - mat4 projection_matrix; -}; - -uniform Material -{ - MaterialParameters material; - float reflectivity; -}; - -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; }; -uniform sampler2D diffuse_map; -uniform sampler2D normal_map; - -uniform sampler2DShadow shadow; -uniform ShadowMap -{ - float shadow_darkness; - mat4 shd_eye_matrix; -}; - -uniform samplerCube environment; -uniform EnvMap -{ - mat3 env_eye_matrix; -}; - -const int max_clip_planes = 0; -uniform Clipping -{ - ClipPlane clip_planes[max_clip_planes]; -}; - #pragma MSP stage(vertex) layout(location=0) in vec4 vertex; -layout(location=8) in vec4 texcoord; -layout(location=3) in vec4 color; +layout(location=1) in vec4 color; layout(location=2) in vec3 normal; -layout(location=4) in vec3 tangent; -layout(location=5) in vec3 binormal; - -#pragma MSP stage(fragment) -layout(location=0) out vec4 frag_color; +layout(location=3) in vec3 tangent; +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];