]> git.tdb.fi Git - libs/gl.git/blobdiff - shaderlib/msp_interface.glsl
Add a PBR material type and corresponding shader
[libs/gl.git] / shaderlib / msp_interface.glsl
index c90ab5aaac995aabe99f62f43b5a6112fef6746e..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,6 +60,10 @@ 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;