From c7049bad398558cf3aa38a333a8695ba07f18e39 Mon Sep 17 00:00:00 2001 From: samcake Date: Thu, 8 Oct 2015 09:32:05 -0700 Subject: [PATCH] Backing up on any changes regarding shading, focus on the rearr view mirror and stencil bug --- libraries/fbx/src/FBXReader_Material.cpp | 2 +- libraries/render-utils/src/DeferredBufferWrite.slh | 6 +++--- libraries/render-utils/src/DeferredGlobalLight.slh | 3 +-- libraries/render-utils/src/DeferredLighting.slh | 7 ++----- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/libraries/fbx/src/FBXReader_Material.cpp b/libraries/fbx/src/FBXReader_Material.cpp index 2f15efbc91..e947a0356e 100644 --- a/libraries/fbx/src/FBXReader_Material.cpp +++ b/libraries/fbx/src/FBXReader_Material.cpp @@ -146,7 +146,7 @@ void FBXReader::consolidateFBXMaterials() { // FIXME: Do not use the Specular Factor yet as some FBX models have it set to 0 // metallic *= material.specularFactor; material._material->setMetallic(metallic); - material._material->setGloss(material.shininess / 100.0f); + material._material->setGloss(material.shininess); if (material.opacity <= 0.0f) { material._material->setOpacity(1.0f); diff --git a/libraries/render-utils/src/DeferredBufferWrite.slh b/libraries/render-utils/src/DeferredBufferWrite.slh index e8a589c323..1c1330f0c0 100755 --- a/libraries/render-utils/src/DeferredBufferWrite.slh +++ b/libraries/render-utils/src/DeferredBufferWrite.slh @@ -53,7 +53,7 @@ void packDeferredFragment(vec3 normal, float alpha, vec3 diffuse, vec3 specular, _fragColor0 = vec4(diffuse.rgb, alpha); _fragColor1 = vec4(bestFitNormal(normal), 1.0); - _fragColor2 = vec4(specular, shininess); + _fragColor2 = vec4(specular, shininess / 128.0); } void packDeferredFragmentLightmap(vec3 normal, float alpha, vec3 diffuse, vec3 specular, float shininess, vec3 emissive) { @@ -64,7 +64,7 @@ void packDeferredFragmentLightmap(vec3 normal, float alpha, vec3 diffuse, vec3 s _fragColor0 = vec4(diffuse.rgb, alpha); //_fragColor1 = vec4(normal, 0.0) * 0.5 + vec4(0.5, 0.5, 0.5, 1.0); _fragColor1 = vec4(bestFitNormal(normal), 0.5); - _fragColor2 = vec4(emissive, shininess); + _fragColor2 = vec4(emissive, shininess / 128.0); } void packDeferredFragmentTranslucent(vec3 normal, float alpha, vec3 diffuse, vec3 specular, float shininess) { @@ -74,7 +74,7 @@ void packDeferredFragmentTranslucent(vec3 normal, float alpha, vec3 diffuse, vec _fragColor0 = vec4(diffuse.rgb, alpha); // _fragColor1 = vec4(normal, 0.0) * 0.5 + vec4(0.5, 0.5, 0.5, 1.0); - // _fragColor2 = vec4(specular, shininess); + // _fragColor2 = vec4(specular, shininess / 128.0); } <@endif@> diff --git a/libraries/render-utils/src/DeferredGlobalLight.slh b/libraries/render-utils/src/DeferredGlobalLight.slh index 40428c5a4e..983b8002f7 100755 --- a/libraries/render-utils/src/DeferredGlobalLight.slh +++ b/libraries/render-utils/src/DeferredGlobalLight.slh @@ -131,8 +131,7 @@ vec3 evalSkyboxGlobalColor(mat4 invViewMat, float shadowAttenuation, vec3 positi color += vec3(diffuse + shading.rgb) * shading.w * shadowAttenuation * getLightColor(light) * getLightIntensity(light); - // return color; - return shading.rgb; + return color; } <@endfunc@> diff --git a/libraries/render-utils/src/DeferredLighting.slh b/libraries/render-utils/src/DeferredLighting.slh index af13a17575..888742bb18 100755 --- a/libraries/render-utils/src/DeferredLighting.slh +++ b/libraries/render-utils/src/DeferredLighting.slh @@ -30,11 +30,8 @@ vec4 evalPBRShading(vec3 fragNormal, vec3 fragLightDir, vec3 fragEyeDir, vec3 sp float shlickPower = (1.0 - dot(fragLightDir,halfDir)); float shlickPower2 = shlickPower * shlickPower; float shlickPower5 = shlickPower2 * shlickPower2 * shlickPower; - // vec3 fresnel = specular + (1.0 - specular) * shlickPower5; - vec3 fresnel = vec3( 0.1 + (1.0 - 0.1) * shlickPower5 ); - - // vec3 reflect = specularPower * fresnel; - vec3 reflect = fresnel; + vec3 schlick = specular * (1.0 - shlickPower5) + vec3(shlickPower5); + vec3 reflect = specularPower * schlick; return vec4(reflect, diffuse); }