浏览代码

Material: Added onBeforeCompile()

Mr.doob 8 年之前
父节点
当前提交
e55898c27a
共有 3 个文件被更改,包括 6 次插入0 次删除
  1. 2 0
      src/materials/Material.js
  2. 2 0
      src/renderers/WebGLRenderer.js
  3. 2 0
      src/renderers/webgl/WebGLPrograms.js

+ 2 - 0
src/materials/Material.js

@@ -69,6 +69,8 @@ Object.assign( Material.prototype, EventDispatcher.prototype, {
 
 	isMaterial: true,
 
+	onBeforeCompile: function () {},
+
 	setValues: function ( values ) {
 
 		if ( values === undefined ) return;

+ 2 - 0
src/renderers/WebGLRenderer.js

@@ -1567,6 +1567,8 @@ function WebGLRenderer( parameters ) {
 
 			material.__webglShader = materialProperties.__webglShader;
 
+			material.onBeforeCompile();
+
 			program = programCache.acquireProgram( material, parameters, code );
 
 			materialProperties.program = program;

+ 2 - 0
src/renderers/webgl/WebGLPrograms.js

@@ -239,6 +239,8 @@ function WebGLPrograms( renderer, capabilities ) {
 
 		}
 
+		array.push( material.onBeforeCompile.toString() );
+
 		array.push( renderer.gammaOutput );
 
 		return array.join();