فهرست منبع

WebGLRenderer: removed .context property

WestLangley 6 سال پیش
والد
کامیت
246cf01522

+ 1 - 1
docs/api/en/renderers/webgl/WebGLShader.html

@@ -15,7 +15,7 @@
 		<h2>Example</h2>
 		<h2>Example</h2>
 
 
 		<code>
 		<code>
-		var gl = renderer.context;
+		var gl = renderer.getContext();
 
 
 		var glVertexShader = new THREE.WebGLShader( gl, gl.VERTEX_SHADER, vertexSourceCode );
 		var glVertexShader = new THREE.WebGLShader( gl, gl.VERTEX_SHADER, vertexSourceCode );
 		var glFragmentShader = new THREE.WebGLShader( gl, gl.FRAGMENT_SHADER, fragmentSourceCode );
 		var glFragmentShader = new THREE.WebGLShader( gl, gl.FRAGMENT_SHADER, fragmentSourceCode );

+ 1 - 1
examples/jsm/loaders/BasisTextureLoader.js

@@ -82,7 +82,7 @@ BasisTextureLoader.prototype = {
 
 
 	detectSupport: function ( renderer ) {
 	detectSupport: function ( renderer ) {
 
 
-		var context = renderer.context;
+		var context = renderer.getContext();
 		var config = this.workerConfig;
 		var config = this.workerConfig;
 
 
 		config.etcSupported = !! context.getExtension( 'WEBGL_compressed_texture_etc1' );
 		config.etcSupported = !! context.getExtension( 'WEBGL_compressed_texture_etc1' );

+ 2 - 2
examples/jsm/postprocessing/BloomPass.js

@@ -90,7 +90,7 @@ BloomPass.prototype = Object.assign( Object.create( Pass.prototype ), {
 
 
 	render: function ( renderer, writeBuffer, readBuffer, deltaTime, maskActive ) {
 	render: function ( renderer, writeBuffer, readBuffer, deltaTime, maskActive ) {
 
 
-		if ( maskActive ) renderer.context.disable( renderer.context.STENCIL_TEST );
+		if ( maskActive ) renderer.getContext().disable( renderer.getContext().STENCIL_TEST ); // avoid direct gl calls
 
 
 		// Render quad with blured scene into texture (convolution pass 1)
 		// Render quad with blured scene into texture (convolution pass 1)
 
 
@@ -119,7 +119,7 @@ BloomPass.prototype = Object.assign( Object.create( Pass.prototype ), {
 
 
 		this.copyUniforms[ "tDiffuse" ].value = this.renderTargetY.texture;
 		this.copyUniforms[ "tDiffuse" ].value = this.renderTargetY.texture;
 
 
-		if ( maskActive ) renderer.context.enable( renderer.context.STENCIL_TEST );
+		if ( maskActive ) renderer.getContext().enable( renderer.getContext().STENCIL_TEST ); // avoid direct gl calls
 
 
 		renderer.setRenderTarget( readBuffer );
 		renderer.setRenderTarget( readBuffer );
 		if ( this.clear ) renderer.clear();
 		if ( this.clear ) renderer.clear();

+ 3 - 3
examples/jsm/postprocessing/EffectComposer.js

@@ -147,13 +147,13 @@ Object.assign( EffectComposer.prototype, {
 
 
 				if ( maskActive ) {
 				if ( maskActive ) {
 
 
-					var context = this.renderer.context;
+					var context = this.renderer.getContext();
 
 
-					context.stencilFunc( context.NOTEQUAL, 1, 0xffffffff );
+					context.stencilFunc( context.NOTEQUAL, 1, 0xffffffff ); // avoid direct gl calls
 
 
 					this.copyPass.render( this.renderer, this.writeBuffer, this.readBuffer, deltaTime );
 					this.copyPass.render( this.renderer, this.writeBuffer, this.readBuffer, deltaTime );
 
 
-					context.stencilFunc( context.EQUAL, 1, 0xffffffff );
+					context.stencilFunc( context.EQUAL, 1, 0xffffffff ); // avoid direct gl calls
 
 
 				}
 				}
 
 

+ 1 - 1
examples/jsm/postprocessing/MaskPass.js

@@ -25,7 +25,7 @@ MaskPass.prototype = Object.assign( Object.create( Pass.prototype ), {
 
 
 	render: function ( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) {
 	render: function ( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) {
 
 
-		var context = renderer.context;
+		var context = renderer.getContext();
 		var state = renderer.state;
 		var state = renderer.state;
 
 
 		// don't update color or depth
 		// don't update color or depth

+ 2 - 2
examples/jsm/postprocessing/OutlinePass.js

@@ -280,7 +280,7 @@ OutlinePass.prototype = Object.assign( Object.create( Pass.prototype ), {
 
 
 			renderer.autoClear = false;
 			renderer.autoClear = false;
 
 
-			if ( maskActive ) renderer.context.disable( renderer.context.STENCIL_TEST );
+			if ( maskActive ) renderer.getContext().disable( renderer.getContext().STENCIL_TEST );
 
 
 			renderer.setClearColor( 0xffffff, 1 );
 			renderer.setClearColor( 0xffffff, 1 );
 
 
@@ -382,7 +382,7 @@ OutlinePass.prototype = Object.assign( Object.create( Pass.prototype ), {
 			this.overlayMaterial.uniforms[ "usePatternTexture" ].value = this.usePatternTexture;
 			this.overlayMaterial.uniforms[ "usePatternTexture" ].value = this.usePatternTexture;
 
 
 
 
-			if ( maskActive ) renderer.context.enable( renderer.context.STENCIL_TEST );
+			if ( maskActive ) renderer.getContext().enable( renderer.getContext().STENCIL_TEST );
 
 
 			renderer.setRenderTarget( readBuffer );
 			renderer.setRenderTarget( readBuffer );
 			this.fsQuad.render( renderer );
 			this.fsQuad.render( renderer );

+ 2 - 2
examples/jsm/postprocessing/UnrealBloomPass.js

@@ -206,7 +206,7 @@ UnrealBloomPass.prototype = Object.assign( Object.create( Pass.prototype ), {
 
 
 		renderer.setClearColor( this.clearColor, 0 );
 		renderer.setClearColor( this.clearColor, 0 );
 
 
-		if ( maskActive ) renderer.context.disable( renderer.context.STENCIL_TEST );
+		if ( maskActive ) renderer.getContext().disable( renderer.getContext().STENCIL_TEST );
 
 
 		// Render input to screen
 		// Render input to screen
 
 
@@ -271,7 +271,7 @@ UnrealBloomPass.prototype = Object.assign( Object.create( Pass.prototype ), {
 		this.fsQuad.material = this.materialCopy;
 		this.fsQuad.material = this.materialCopy;
 		this.copyUniforms[ "tDiffuse" ].value = this.renderTargetsHorizontal[ 0 ].texture;
 		this.copyUniforms[ "tDiffuse" ].value = this.renderTargetsHorizontal[ 0 ].texture;
 
 
-		if ( maskActive ) renderer.context.enable( renderer.context.STENCIL_TEST );
+		if ( maskActive ) renderer.getContext().enable( renderer.getContext().STENCIL_TEST );
 
 
 
 
 		if ( this.renderToScreen ) {
 		if ( this.renderToScreen ) {

+ 1 - 1
examples/jsm/renderers/WebGLDeferredRenderer.js

@@ -159,7 +159,7 @@ var WebGLDeferredRenderer = function ( parameters ) {
 		_this.renderer = parameters.renderer !== undefined ? parameters.renderer : new WebGLRenderer();
 		_this.renderer = parameters.renderer !== undefined ? parameters.renderer : new WebGLRenderer();
 		_this.domElement = _this.renderer.domElement;
 		_this.domElement = _this.renderer.domElement;
 
 
-		_context = _this.renderer.context;
+		_context = _this.renderer.getContext();
 		_state = _this.renderer.state;
 		_state = _this.renderer.state;
 
 
 		_width = parameters.width !== undefined ? parameters.width : _this.renderer.getSize( new Vector2() ).width;
 		_width = parameters.width !== undefined ? parameters.width : _this.renderer.getSize( new Vector2() ).width;

+ 2 - 2
examples/webgl_shaders_ocean2.html

@@ -36,8 +36,8 @@
 
 
 					this.ms_Renderer = new THREE.WebGLRenderer();
 					this.ms_Renderer = new THREE.WebGLRenderer();
 					this.ms_Renderer.setPixelRatio( window.devicePixelRatio );
 					this.ms_Renderer.setPixelRatio( window.devicePixelRatio );
-					this.ms_Renderer.context.getExtension( 'OES_texture_float' );
-					this.ms_Renderer.context.getExtension( 'OES_texture_float_linear' );
+					this.ms_Renderer.getContext().getExtension( 'OES_texture_float' );
+					this.ms_Renderer.getContext().getExtension( 'OES_texture_float_linear' );
 
 
 					document.body.appendChild( this.ms_Renderer.domElement );
 					document.body.appendChild( this.ms_Renderer.domElement );
 
 

+ 9 - 0
src/Three.Legacy.js

@@ -1548,8 +1548,17 @@ Object.defineProperties( WebGLRenderer.prototype, {
 
 
 			console.warn( 'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.' );
 			console.warn( 'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.' );
 
 
+		}
+	},
+	context: {
+		get: function () {
+
+			console.warn( 'THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.' );
+			return this.getContext();
+
 		}
 		}
 	}
 	}
+
 } );
 } );
 
 
 Object.defineProperties( WebGLShadowMap.prototype, {
 Object.defineProperties( WebGLShadowMap.prototype, {

+ 0 - 2
src/renderers/WebGLRenderer.js

@@ -76,7 +76,6 @@ function WebGLRenderer( parameters ) {
 	// public properties
 	// public properties
 
 
 	this.domElement = _canvas;
 	this.domElement = _canvas;
-	this.context = null;
 
 
 	// Debug configuration container
 	// Debug configuration container
 	this.debug = {
 	this.debug = {
@@ -299,7 +298,6 @@ function WebGLRenderer( parameters ) {
 
 
 		info.programs = programCache.programs;
 		info.programs = programCache.programs;
 
 
-		_this.context = _gl;
 		_this.capabilities = capabilities;
 		_this.capabilities = capabilities;
 		_this.extensions = extensions;
 		_this.extensions = extensions;
 		_this.properties = properties;
 		_this.properties = properties;

+ 1 - 1
src/renderers/webgl/WebGLProgram.js

@@ -238,7 +238,7 @@ function unrollLoops( string ) {
 
 
 function WebGLProgram( renderer, extensions, code, material, shader, parameters, capabilities ) {
 function WebGLProgram( renderer, extensions, code, material, shader, parameters, capabilities ) {
 
 
-	var gl = renderer.context;
+	var gl = renderer.getContext();
 
 
 	var defines = material.defines;
 	var defines = material.defines;
 
 

+ 1 - 1
src/renderers/webvr/WebXRManager.js

@@ -15,7 +15,7 @@ function WebXRManager( renderer ) {
 
 
 	var scope = this;
 	var scope = this;
 
 
-	var gl = renderer.context;
+	var gl = renderer.getContext();
 
 
 	var session = null;
 	var session = null;