瀏覽代碼

WebGLFlareRenderer, WebGLSpriteRenderer: Use textures.setTexture2D() directly.

Mr.doob 8 年之前
父節點
當前提交
3c38e80a4f

+ 2 - 2
src/renderers/WebGLRenderer.js

@@ -285,8 +285,8 @@ function WebGLRenderer( parameters ) {
 		bufferRenderer = new WebGLBufferRenderer( _gl, extensions, _infoRender );
 		indexedBufferRenderer = new WebGLIndexedBufferRenderer( _gl, extensions, _infoRender );
 
-		flareRenderer = new WebGLFlareRenderer( _this, _gl, state, capabilities );
-		spriteRenderer = new WebGLSpriteRenderer( _this, _gl, state, capabilities );
+		flareRenderer = new WebGLFlareRenderer( _this, _gl, state, textures, capabilities );
+		spriteRenderer = new WebGLSpriteRenderer( _this, _gl, state, textures, capabilities );
 
 		_this.info.programs = programCache.programs;
 

+ 3 - 2
src/renderers/webgl/WebGLFlareRenderer.js

@@ -7,7 +7,7 @@ import { Box2 } from '../../math/Box2';
 import { Vector2 } from '../../math/Vector2';
 import { Vector3 } from '../../math/Vector3';
 
-function WebGLFlareRenderer( renderer, gl, state, capabilities ) {
+function WebGLFlareRenderer( renderer, gl, state, textures, capabilities ) {
 
 	var vertexBuffer, elementBuffer;
 	var shader, program, attributes, uniforms;
@@ -334,7 +334,8 @@ function WebGLFlareRenderer( renderer, gl, state, capabilities ) {
 						gl.uniform3f( uniforms.color, sprite.color.r, sprite.color.g, sprite.color.b );
 
 						state.setBlending( sprite.blending, sprite.blendEquation, sprite.blendSrc, sprite.blendDst );
-						renderer.setTexture2D( sprite.texture, 1 );
+
+						textures.setTexture2D( sprite.texture, 1 );
 
 						gl.drawElements( gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0 );
 

+ 2 - 10
src/renderers/webgl/WebGLSpriteRenderer.js

@@ -7,7 +7,7 @@ import { CanvasTexture } from '../../textures/CanvasTexture';
 import { Vector3 } from '../../math/Vector3';
 import { Quaternion } from '../../math/Quaternion';
 
-function WebGLSpriteRenderer( renderer, gl, state, capabilities ) {
+function WebGLSpriteRenderer( renderer, gl, state, textures, capabilities ) {
 
 	var vertexBuffer, elementBuffer;
 	var program, attributes, uniforms;
@@ -225,15 +225,7 @@ function WebGLSpriteRenderer( renderer, gl, state, capabilities ) {
 			state.buffers.depth.setTest( material.depthTest );
 			state.buffers.depth.setMask( material.depthWrite );
 
-			if ( material.map ) {
-
-				renderer.setTexture2D( material.map, 0 );
-
-			} else {
-
-				renderer.setTexture2D( texture, 0 );
-
-			}
+			textures.setTexture2D( material.map || texture, 0 );
 
 			gl.drawElements( gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0 );