X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=shaderlib%2Fmsp_interface.glsl;h=860b0c794d23a4b6edd0bd61859f8e2f1dfd82ae;hb=07a69fb2c913d489510e384599ae63ed9e045c60;hp=1c3029ef343cbddb9a295951864300f9ac627b56;hpb=713ff9619daa858ffbd428f7699cd57598563dbd;p=libs%2Fgl.git diff --git a/shaderlib/msp_interface.glsl b/shaderlib/msp_interface.glsl index 1c3029ef..860b0c79 100644 --- a/shaderlib/msp_interface.glsl +++ b/shaderlib/msp_interface.glsl @@ -1,25 +1,7 @@ struct LightSourceParameters { vec4 position; - vec4 diffuse; - vec4 specular; -}; - -struct BasicMaterialParameters -{ - vec4 diffuse; - vec4 specular; - vec4 emission; - float shininess; - float reflectivity; -}; - -struct PbrMaterialParameters -{ - vec4 base_color; - vec4 emission; - float metalness; - float roughness; + vec3 color; }; struct ClipPlane @@ -27,22 +9,14 @@ 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; -}; - -uniform BasicMaterial -{ - BasicMaterialParameters basic_material; -}; - -uniform PbrMaterial -{ - PbrMaterialParameters pbr_material; + mat4 world_eye_matrix; + mat4 clip_eye_matrix; + mat4 eye_clip_matrix; }; uniform Lighting @@ -51,37 +25,14 @@ uniform Lighting LightSourceParameters light_sources[1]; vec4 ambient_color; vec4 sky_color; - vec3 eye_zenith_dir; + vec3 world_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 reflectivity_map; -uniform sampler2D base_color_map; -uniform sampler2D metalness_map; -uniform sampler2D roughness_map; -uniform sampler2D occlusion_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_map; -uniform EnvMap -{ - mat3 env_eye_matrix; -}; - -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]; @@ -89,12 +40,16 @@ uniform Clipping #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]; +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]; #pragma MSP stage(fragment) layout(location=0) out vec4 frag_color;