提交 07806c89 编写于 作者: A alteredq

WebGLDeferredRenderer: trying to match better linear space lighting in WebGLRenderer.

Still need to solve live material / lights parameters updates (only light position is dynamic for now).
上级 8c5f2d32
......@@ -158,9 +158,9 @@ THREE.WebGLDeferredRenderer = function ( parameters ) {
var wrapAround = originalMaterial.wrapAround !== undefined ? ( originalMaterial.wrapAround ? -1 : 1 ) : 1;
var additiveSpecular = originalMaterial.metal !== undefined ? ( originalMaterial.metal ? 1 : -1 ) : -1;
uniforms.emissive.value.copy( emissive );
uniforms.diffuse.value.copy( diffuse );
uniforms.specular.value.copy( specular );
uniforms.emissive.value.copyGammaToLinear( emissive );
uniforms.diffuse.value.copyGammaToLinear( diffuse );
uniforms.specular.value.copyGammaToLinear( specular );
uniforms.shininess.value = shininess;
uniforms.wrapAround.value = wrapAround;
uniforms.additiveSpecular.value = additiveSpecular;
......@@ -314,10 +314,14 @@ THREE.WebGLDeferredRenderer = function ( parameters ) {
}
// linear space
var intensity = light.intensity * light.intensity;
materialLight.uniforms[ "lightPos" ].value = light.position;
materialLight.uniforms[ "lightRadius" ].value = distance;
materialLight.uniforms[ "lightIntensity" ].value = light.intensity;
materialLight.uniforms[ "lightColor" ].value = light.color;
materialLight.uniforms[ "lightIntensity" ].value = intensity;
materialLight.uniforms[ "lightColor" ].value.copyGammaToLinear( light.color );
materialLight.uniforms[ "viewWidth" ].value = scaledWidth;
materialLight.uniforms[ "viewHeight" ].value = scaledHeight;
......@@ -361,9 +365,13 @@ THREE.WebGLDeferredRenderer = function ( parameters ) {
} );
// linear space
var intensity = light.intensity * light.intensity;
materialLight.uniforms[ "lightDir" ].value = light.position;
materialLight.uniforms[ "lightIntensity" ].value = light.intensity;
materialLight.uniforms[ "lightColor" ].value = light.color;
materialLight.uniforms[ "lightIntensity" ].value = intensity;
materialLight.uniforms[ "lightColor" ].value.copyGammaToLinear( light.color );
materialLight.uniforms[ "viewWidth" ].value = scaledWidth;
materialLight.uniforms[ "viewHeight" ].value = scaledHeight;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册