X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=shaderlib%2Fmsp_interface.glsl;h=ba6f3178cc5ca9954ffd5d6c5e66df43965aece4;hb=f38c24ad1765f39f620267c0a85e532cb851baac;hp=e606edf94a55e24f4956c2fab0fb5ad15aa9011a;hpb=f0293969980969f5b19a2a3c665ea068617dab49;p=libs%2Fgl.git diff --git a/shaderlib/msp_interface.glsl b/shaderlib/msp_interface.glsl index e606edf9..ba6f3178 100644 --- a/shaderlib/msp_interface.glsl +++ b/shaderlib/msp_interface.glsl @@ -5,12 +5,21 @@ struct LightSourceParameters vec4 specular; }; -struct MaterialParameters +struct BasicMaterialParameters { - vec4 ambient; vec4 diffuse; vec4 specular; + vec4 emission; float shininess; + float reflectivity; +}; + +struct PbrMaterialParameters +{ + vec4 base_color; + vec4 emission; + float metalness; + float roughness; }; struct ClipPlane @@ -22,13 +31,18 @@ uniform mat4 eye_obj_matrix; uniform mat3 eye_obj_normal_matrix; uniform Transform { + mat4 eye_world_matrix; mat4 projection_matrix; }; -uniform Material +uniform BasicMaterial { - MaterialParameters material; - float reflectivity; + BasicMaterialParameters basic_material; +}; + +uniform PbrMaterial +{ + PbrMaterialParameters pbr_material; }; uniform Lighting @@ -44,16 +58,23 @@ uniform Lighting }; uniform sampler2D diffuse_map; +uniform sampler2D specular_map; +uniform sampler2D shininess_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; +uniform sampler2DShadow shadow_map; uniform ShadowMap { float shadow_darkness; mat4 shd_eye_matrix; }; -uniform samplerCube environment; +uniform samplerCube environment_map; uniform EnvMap { mat3 env_eye_matrix; @@ -72,6 +93,7 @@ layout(location=3) 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;