X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=shaderlib%2Fmsp_interface.glsl;fp=shaderlib%2Fmsp_interface.glsl;h=e606edf94a55e24f4956c2fab0fb5ad15aa9011a;hb=f0293969980969f5b19a2a3c665ea068617dab49;hp=0000000000000000000000000000000000000000;hpb=35646cafcdff8be76f6ef96018415d9ddec6f77c;p=libs%2Fgl.git diff --git a/shaderlib/msp_interface.glsl b/shaderlib/msp_interface.glsl new file mode 100644 index 00000000..e606edf9 --- /dev/null +++ b/shaderlib/msp_interface.glsl @@ -0,0 +1,77 @@ +struct LightSourceParameters +{ + vec4 position; + vec4 diffuse; + vec4 specular; +}; + +struct MaterialParameters +{ + vec4 ambient; + vec4 diffuse; + vec4 specular; + float shininess; +}; + +struct ClipPlane +{ + vec4 equation; +}; + +uniform mat4 eye_obj_matrix; +uniform mat3 eye_obj_normal_matrix; +uniform Transform +{ + mat4 projection_matrix; +}; + +uniform Material +{ + MaterialParameters material; + float reflectivity; +}; + +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 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=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;