|
@@ -17028,15 +17028,15 @@ function unrollLoops( string ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
-function WebGLProgram( renderer, code, material, parameters ) {
|
|
|
+function WebGLProgram( renderer, code, material, shader, parameters ) {
|
|
|
|
|
|
var gl = renderer.context;
|
|
|
|
|
|
var extensions = material.extensions;
|
|
|
var defines = material.defines;
|
|
|
|
|
|
- var vertexShader = material.__webglShader.vertexShader;
|
|
|
- var fragmentShader = material.__webglShader.fragmentShader;
|
|
|
+ var vertexShader = shader.vertexShader;
|
|
|
+ var fragmentShader = shader.fragmentShader;
|
|
|
|
|
|
var shadowMapTypeDefine = 'SHADOWMAP_TYPE_BASIC';
|
|
|
|
|
@@ -17148,7 +17148,7 @@ function WebGLProgram( renderer, code, material, parameters ) {
|
|
|
'precision ' + parameters.precision + ' float;',
|
|
|
'precision ' + parameters.precision + ' int;',
|
|
|
|
|
|
- '#define SHADER_NAME ' + material.__webglShader.name,
|
|
|
+ '#define SHADER_NAME ' + shader.name,
|
|
|
|
|
|
customDefines,
|
|
|
|
|
@@ -17255,7 +17255,7 @@ function WebGLProgram( renderer, code, material, parameters ) {
|
|
|
'precision ' + parameters.precision + ' float;',
|
|
|
'precision ' + parameters.precision + ' int;',
|
|
|
|
|
|
- '#define SHADER_NAME ' + material.__webglShader.name,
|
|
|
+ '#define SHADER_NAME ' + shader.name,
|
|
|
|
|
|
customDefines,
|
|
|
|
|
@@ -17751,7 +17751,7 @@ function WebGLPrograms( renderer, capabilities ) {
|
|
|
|
|
|
};
|
|
|
|
|
|
- this.acquireProgram = function ( material, parameters, code ) {
|
|
|
+ this.acquireProgram = function ( material, shader, parameters, code ) {
|
|
|
|
|
|
var program;
|
|
|
|
|
@@ -17773,7 +17773,7 @@ function WebGLPrograms( renderer, capabilities ) {
|
|
|
|
|
|
if ( program === undefined ) {
|
|
|
|
|
|
- program = new WebGLProgram( renderer, code, material, parameters );
|
|
|
+ program = new WebGLProgram( renderer, code, material, shader, parameters );
|
|
|
programs.push( program );
|
|
|
|
|
|
}
|
|
@@ -21413,7 +21413,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
var shader = ShaderLib[ parameters.shaderID ];
|
|
|
|
|
|
- materialProperties.__webglShader = {
|
|
|
+ materialProperties.shader = {
|
|
|
name: material.type,
|
|
|
uniforms: UniformsUtils.clone( shader.uniforms ),
|
|
|
vertexShader: shader.vertexShader,
|
|
@@ -21422,7 +21422,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- materialProperties.__webglShader = {
|
|
|
+ materialProperties.shader = {
|
|
|
name: material.type,
|
|
|
uniforms: material.uniforms,
|
|
|
vertexShader: material.vertexShader,
|
|
@@ -21431,11 +21431,9 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- material.onBeforeCompile( materialProperties.__webglShader );
|
|
|
+ material.onBeforeCompile( materialProperties.shader );
|
|
|
|
|
|
- material.__webglShader = materialProperties.__webglShader; // TODO: Remove?
|
|
|
-
|
|
|
- program = programCache.acquireProgram( material, parameters, code );
|
|
|
+ program = programCache.acquireProgram( material, materialProperties.shader, parameters, code );
|
|
|
|
|
|
materialProperties.program = program;
|
|
|
material.program = program;
|
|
@@ -21476,7 +21474,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- var uniforms = materialProperties.__webglShader.uniforms;
|
|
|
+ var uniforms = materialProperties.shader.uniforms;
|
|
|
|
|
|
if ( ! material.isShaderMaterial &&
|
|
|
! material.isRawShaderMaterial ||
|
|
@@ -21585,7 +21583,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
var program = materialProperties.program,
|
|
|
p_uniforms = program.getUniforms(),
|
|
|
- m_uniforms = materialProperties.__webglShader.uniforms;
|
|
|
+ m_uniforms = materialProperties.shader.uniforms;
|
|
|
|
|
|
if ( program.id !== _currentProgram ) {
|
|
|
|