]> git.tdb.fi Git - libs/gl.git/blobdiff - shaderlib/msp_interface.glsl
Check the flat qualifier from the correct member
[libs/gl.git] / shaderlib / msp_interface.glsl
index b1b887ea68a92b3f11a308d0895e503473cf8f61..2b878b2b14569a75aa77d5da5ef08c0cb130488f 100644 (file)
@@ -1,82 +1,25 @@
-struct LightSourceParameters
+layout(push_constant) uniform ObjectTransform
 {
-       vec4 position;
-       vec4 diffuse;
-       vec4 specular;
+       mat4 world_obj_matrix;
+       mat3 world_obj_normal_matrix;
 };
-
-struct BasicMaterialParameters
-{
-       vec4 diffuse;
-       vec4 specular;
-       vec4 emission;
-       float shininess;
-       float reflectivity;
-};
-
-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 BasicMaterial
-{
-       BasicMaterialParameters basic_material;
-};
-
-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;
-};
-
-uniform sampler2D diffuse_map;
-uniform sampler2D specular_map;
-uniform sampler2D shininess_map;
-uniform sampler2D emission_map;
-uniform sampler2D normal_map;
-
-uniform sampler2DShadow shadow_map;
-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];
+       mat4 world_eye_matrix;
+       mat4 clip_eye_matrix;
+       mat4 eye_clip_matrix;
 };
 
 #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;
-layout(location=12) in vec4 instance_transform[3];
-
-#pragma MSP stage(fragment)
-layout(location=0) out vec4 frag_color;
+layout(location=3) in vec3 tangent;
+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];