提交 46155017 编写于 作者: M Mr.doob

WebGLRenderer: Removed renderer.extensions calls.

上级 5756b8f4
...@@ -270,7 +270,7 @@ function WebGLRenderer( parameters ) { ...@@ -270,7 +270,7 @@ function WebGLRenderer( parameters ) {
attributes = new WebGLAttributes( _gl ); attributes = new WebGLAttributes( _gl );
geometries = new WebGLGeometries( _gl, attributes, _infoMemory ); geometries = new WebGLGeometries( _gl, attributes, _infoMemory );
objects = new WebGLObjects( _gl, geometries, _infoRender ); objects = new WebGLObjects( _gl, geometries, _infoRender );
programCache = new WebGLPrograms( _this, capabilities ); programCache = new WebGLPrograms( _this, extensions, capabilities );
lights = new WebGLLights(); lights = new WebGLLights();
renderLists = new WebGLRenderLists(); renderLists = new WebGLRenderLists();
......
...@@ -194,11 +194,10 @@ function unrollLoops( string ) { ...@@ -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 ) { ...@@ -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 ) { ...@@ -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 ) { ...@@ -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 ) { ...@@ -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 = cachedUniforms = new WebGLUniforms( gl, program, renderer );
new WebGLUniforms( gl, program, renderer );
} }
...@@ -612,7 +610,7 @@ function WebGLProgram( renderer, code, material, shader, parameters ) { ...@@ -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 ) {
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
import { BackSide, DoubleSide, CubeUVRefractionMapping, CubeUVReflectionMapping, GammaEncoding, LinearEncoding } from '../../constants'; import { BackSide, DoubleSide, CubeUVRefractionMapping, CubeUVReflectionMapping, GammaEncoding, LinearEncoding } from '../../constants';
import { WebGLProgram } from './WebGLProgram'; import { WebGLProgram } from './WebGLProgram';
function WebGLPrograms( renderer, capabilities ) { function WebGLPrograms( renderer, extensions, capabilities ) {
var programs = []; var programs = [];
...@@ -269,7 +269,7 @@ function WebGLPrograms( renderer, capabilities ) { ...@@ -269,7 +269,7 @@ function WebGLPrograms( renderer, capabilities ) {
if ( program === undefined ) { if ( program === undefined ) {
program = new WebGLProgram( renderer, code, material, shader, parameters ); program = new WebGLProgram( renderer, extensions, code, material, shader, parameters );
programs.push( program ); programs.push( program );
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册