From 065eb6d3c790feb50317acb57506a3c75311e741 Mon Sep 17 00:00:00 2001 From: ligaofeng Date: Mon, 30 Oct 2023 20:03:01 +0800 Subject: [PATCH] add global material compile hook, env intensity --- src/renderers/WebGLRenderer.js | 4 ++++ src/renderers/webgl/WebGLMaterials.js | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index 80164940e10f5..34cac32ad6485 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -1640,6 +1640,10 @@ class WebGLRenderer { material.onBeforeCompile( parameters, _this ); + if (_this.onMaterialBeforeCompile) { + _this.onMaterialBeforeCompile(material, parameters); + } + program = programCache.acquireProgram( parameters, programCacheKey ); programs.set( programCacheKey, program ); diff --git a/src/renderers/webgl/WebGLMaterials.js b/src/renderers/webgl/WebGLMaterials.js index 2c2cc1ab585fe..6f33c10258573 100644 --- a/src/renderers/webgl/WebGLMaterials.js +++ b/src/renderers/webgl/WebGLMaterials.js @@ -375,7 +375,7 @@ function WebGLMaterials( renderer, properties ) { if ( envMap ) { //uniforms.envMap.value = material.envMap; // part of uniforms common - uniforms.envMapIntensity.value = material.envMapIntensity; + uniforms.envMapIntensity.value = material.envMapIntensity * ( renderer.envMapIntensity === undefined ? 1 : renderer.envMapIntensity ); }