X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=shaderlib%2Fmsp_interface.glsl;h=1c3029ef343cbddb9a295951864300f9ac627b56;hb=22d5405729048ee2677a1e45e309e6328de64a26;hp=6a8ee8d8f63713260ff05b98879b8e7f30644505;hpb=3500f13f51dabadd2e7f06b81820936520cc8115;p=libs%2Fgl.git diff --git a/shaderlib/msp_interface.glsl b/shaderlib/msp_interface.glsl index 6a8ee8d8..1c3029ef 100644 --- a/shaderlib/msp_interface.glsl +++ b/shaderlib/msp_interface.glsl @@ -14,6 +14,14 @@ struct BasicMaterialParameters float reflectivity; }; +struct PbrMaterialParameters +{ + vec4 base_color; + vec4 emission; + float metalness; + float roughness; +}; + struct ClipPlane { vec4 equation; @@ -32,6 +40,11 @@ uniform BasicMaterial BasicMaterialParameters basic_material; }; +uniform PbrMaterial +{ + PbrMaterialParameters pbr_material; +}; + uniform Lighting { // Declared as an array for compatibility reasons @@ -47,23 +60,28 @@ uniform Lighting 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; +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; }; -const int max_clip_planes = 0; +layout(constant_id=auto) const int max_clip_planes = 0; uniform Clipping { ClipPlane clip_planes[max_clip_planes];