metallic-roghness workflow can also use modified f0

This commit is contained in:
Turanszki Janos
2020-12-20 10:17:16 +01:00
parent 0895e4b433
commit 14209936ca
2 changed files with 5 additions and 6 deletions
+4 -5
View File
@@ -77,10 +77,9 @@ struct Surface
init();
roughness = material.roughness;
float metalness = material.metalness;
float reflectance = material.reflectance;
f0 = material.specularColor.rgb * material.specularColor.a;
[branch]
if (material.IsUsingSpecularGlossinessWorkflow())
{
// Specular-glossiness workflow:
@@ -96,10 +95,10 @@ struct Surface
occlusion = surfaceMap.r;
}
roughness *= surfaceMap.g;
metalness *= surfaceMap.b;
reflectance *= surfaceMap.a;
float metalness = material.metalness * surfaceMap.b;
float reflectance = material.reflectance * surfaceMap.a;
albedo = lerp(lerp(baseColor.rgb, float3(0, 0, 0), reflectance), float3(0, 0, 0), metalness);
f0 = lerp(lerp(float3(0, 0, 0), float3(1, 1, 1), reflectance), baseColor.rgb, metalness);
f0 *= lerp(lerp(float3(0, 0, 0), float3(1, 1, 1), reflectance), baseColor.rgb, metalness);
}
}
+1 -1
View File
@@ -9,7 +9,7 @@ namespace wiVersion
// minor features, major updates, breaking compatibility changes
const int minor = 51;
// minor bug fixes, alterations, refactors, updates
const int revision = 24;
const int revision = 25;
const std::string version_string = std::to_string(major) + "." + std::to_string(minor) + "." + std::to_string(revision);