]> git.tdb.fi Git - libs/gl.git/blobdiff - shaderlib/msp_interface.glsl
Transform interface block contents into structs
[libs/gl.git] / shaderlib / msp_interface.glsl
index 6a8ee8d8f63713260ff05b98879b8e7f30644505..ba6f3178cc5ca9954ffd5d6c5e66df43965aece4 100644 (file)
@@ -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,17 +60,21 @@ 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;