|
@@ -194,11 +194,10 @@ function unrollLoops( string ) {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-function WebGLProgram( renderer, code, material, shader, parameters ) {
|
|
|
|
|
|
+function WebGLProgram( renderer, extensions, code, material, shader, parameters ) {
|
|
|
|
|
|
var gl = renderer.context;
|
|
var gl = renderer.context;
|
|
|
|
|
|
- var extensions = material.extensions;
|
|
|
|
var defines = material.defines;
|
|
var defines = material.defines;
|
|
|
|
|
|
var vertexShader = shader.vertexShader;
|
|
var vertexShader = shader.vertexShader;
|
|
@@ -278,7 +277,7 @@ function WebGLProgram( renderer, code, material, shader, parameters ) {
|
|
|
|
|
|
//
|
|
//
|
|
|
|
|
|
- var customExtensions = generateExtensions( extensions, parameters, renderer.extensions );
|
|
|
|
|
|
+ var customExtensions = generateExtensions( material.extensions, parameters, extensions );
|
|
|
|
|
|
var customDefines = generateDefines( defines );
|
|
var customDefines = generateDefines( defines );
|
|
|
|
|
|
@@ -359,7 +358,7 @@ function WebGLProgram( renderer, code, material, shader, parameters ) {
|
|
parameters.sizeAttenuation ? '#define USE_SIZEATTENUATION' : '',
|
|
parameters.sizeAttenuation ? '#define USE_SIZEATTENUATION' : '',
|
|
|
|
|
|
parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',
|
|
parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',
|
|
- parameters.logarithmicDepthBuffer && renderer.extensions.get( 'EXT_frag_depth' ) ? '#define USE_LOGDEPTHBUF_EXT' : '',
|
|
|
|
|
|
+ parameters.logarithmicDepthBuffer && extensions.get( 'EXT_frag_depth' ) ? '#define USE_LOGDEPTHBUF_EXT' : '',
|
|
|
|
|
|
'uniform mat4 modelMatrix;',
|
|
'uniform mat4 modelMatrix;',
|
|
'uniform mat4 modelViewMatrix;',
|
|
'uniform mat4 modelViewMatrix;',
|
|
@@ -466,9 +465,9 @@ function WebGLProgram( renderer, code, material, shader, parameters ) {
|
|
parameters.physicallyCorrectLights ? "#define PHYSICALLY_CORRECT_LIGHTS" : '',
|
|
parameters.physicallyCorrectLights ? "#define PHYSICALLY_CORRECT_LIGHTS" : '',
|
|
|
|
|
|
parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',
|
|
parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',
|
|
- parameters.logarithmicDepthBuffer && renderer.extensions.get( 'EXT_frag_depth' ) ? '#define USE_LOGDEPTHBUF_EXT' : '',
|
|
|
|
|
|
+ parameters.logarithmicDepthBuffer && extensions.get( 'EXT_frag_depth' ) ? '#define USE_LOGDEPTHBUF_EXT' : '',
|
|
|
|
|
|
- parameters.envMap && renderer.extensions.get( 'EXT_shader_texture_lod' ) ? '#define TEXTURE_LOD_EXT' : '',
|
|
|
|
|
|
+ parameters.envMap && extensions.get( 'EXT_shader_texture_lod' ) ? '#define TEXTURE_LOD_EXT' : '',
|
|
|
|
|
|
'uniform mat4 viewMatrix;',
|
|
'uniform mat4 viewMatrix;',
|
|
'uniform vec3 cameraPosition;',
|
|
'uniform vec3 cameraPosition;',
|
|
@@ -595,12 +594,11 @@ function WebGLProgram( renderer, code, material, shader, parameters ) {
|
|
|
|
|
|
var cachedUniforms;
|
|
var cachedUniforms;
|
|
|
|
|
|
- this.getUniforms = function() {
|
|
|
|
|
|
+ this.getUniforms = function () {
|
|
|
|
|
|
if ( cachedUniforms === undefined ) {
|
|
if ( cachedUniforms === undefined ) {
|
|
|
|
|
|
- cachedUniforms =
|
|
|
|
- new WebGLUniforms( gl, program, renderer );
|
|
|
|
|
|
+ cachedUniforms = new WebGLUniforms( gl, program, renderer );
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -612,7 +610,7 @@ function WebGLProgram( renderer, code, material, shader, parameters ) {
|
|
|
|
|
|
var cachedAttributes;
|
|
var cachedAttributes;
|
|
|
|
|
|
- this.getAttributes = function() {
|
|
|
|
|
|
+ this.getAttributes = function () {
|
|
|
|
|
|
if ( cachedAttributes === undefined ) {
|
|
if ( cachedAttributes === undefined ) {
|
|
|
|
|