From d545e3f2488141c04042ce476debb331e6df942e Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Mon, 27 Feb 2017 22:26:05 -0800 Subject: [PATCH] Revert "Fix RectAreaLightUniformsLib" --- examples/js/lights/RectAreaLightUniformsLib.js | 13 +++++++++---- src/renderers/WebGLRenderer.js | 7 +++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/examples/js/lights/RectAreaLightUniformsLib.js b/examples/js/lights/RectAreaLightUniformsLib.js index 471d65450c..2c607cd663 100644 --- a/examples/js/lights/RectAreaLightUniformsLib.js +++ b/examples/js/lights/RectAreaLightUniformsLib.js @@ -27,6 +27,8 @@ // + var UniformsLib = THREE.UniformsLib; + var ShaderLib = THREE.ShaderLib; var LTC_MAT_TEXTURE = new THREE.DataTexture( new Float32Array( LTC_MAT ), @@ -45,12 +47,15 @@ LTC_MAT_TEXTURE.needsUpdate = true; LTC_MAG_TEXTURE.needsUpdate = true; + THREE.UniformsLib.LTC_MAT_TEXTURE = LTC_MAT_TEXTURE; + THREE.UniformsLib.LTC_MAG_TEXTURE = LTC_MAG_TEXTURE; + // Add ltc tables to materials - var ltc_brdf = { ltcMat: { value: LTC_MAT_TEXTURE }, ltcMag: { value: LTC_MAT_TEXTURE } }; + var ltc_brdf = { ltcMat: { value: null }, ltcMag: { value: null } }; - Object.assign( THREE.ShaderLib.phong.uniforms, ltc_brdf ); - Object.assign( THREE.ShaderLib.standard.uniforms, ltc_brdf ); - Object.assign( THREE.ShaderLib.physical.uniforms, ltc_brdf ); + Object.assign( ShaderLib.phong.uniforms, ltc_brdf ); + Object.assign( ShaderLib.standard.uniforms, ltc_brdf ); + Object.assign( ShaderLib.physical.uniforms, ltc_brdf ); } )() diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index e42956c80f..43f4b223ff 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -3,6 +3,7 @@ import { _Math } from '../math/Math'; import { Matrix4 } from '../math/Matrix4'; import { DataTexture } from '../textures/DataTexture'; import { WebGLUniforms } from './webgl/WebGLUniforms'; +import { UniformsLib } from './shaders/UniformsLib'; import { UniformsUtils } from './shaders/UniformsUtils'; import { ShaderLib } from './shaders/ShaderLib'; import { LensFlarePlugin } from './webgl/plugins/LensFlarePlugin'; @@ -1858,6 +1859,12 @@ function WebGLRenderer( parameters ) { } + // RectAreaLight Texture + // TODO (mrdoob): Find a nicer implementation + + if ( m_uniforms.ltcMat !== undefined ) m_uniforms.ltcMat.value = UniformsLib.LTC_MAT_TEXTURE; + if ( m_uniforms.ltcMag !== undefined ) m_uniforms.ltcMag.value = UniformsLib.LTC_MAG_TEXTURE; + WebGLUniforms.upload( _gl, materialProperties.uniformsList, m_uniforms, _this ); -- GitLab