Просмотр исходного кода

Deprecated parameters.clearColor and parameters.clearAlpha from WebGLRenderer contructor. Added missing setClearColor to other renderers. Updated editor.

Mr.doob 12 лет назад
Родитель
Сommit
4d9f520d71

+ 7 - 3
editor/js/ui/Viewport.js

@@ -4,6 +4,7 @@ var Viewport = function ( signals ) {
 	container.setPosition( 'absolute' );
 	container.setBackgroundColor( '#aaa' );
 
+	var clearColor = 0xAAAAAA;
 	var objects = [];
 
 	// helpers
@@ -232,6 +233,7 @@ var Viewport = function ( signals ) {
 		container.dom.removeChild( renderer.domElement );
 
 		renderer = object;
+		renderer.setClearColor( clearColor );
 		renderer.autoClear = false;
 		renderer.autoUpdateScene = false;
 		renderer.setSize( container.dom.offsetWidth, container.dom.offsetHeight );
@@ -438,10 +440,11 @@ var Viewport = function ( signals ) {
 
 	signals.clearColorChanged.add( function ( color ) {
 
-		renderer.setClearColorHex( color, 1 );
-
+		renderer.setClearColor( color );
 		render();
 
+		clearColor = color;
+
 	} );
 
 	signals.fogTypeChanged.add( function ( fogType ) {
@@ -554,7 +557,8 @@ var Viewport = function ( signals ) {
 
 	//
 
-	var renderer = new THREE.WebGLRenderer( { antialias: true, alpha: false, clearColor: 0xaaaaaa, clearAlpha: 1 } );
+	var renderer = new THREE.WebGLRenderer( { antialias: true, alpha: false } );
+	renderer.setClearColor( clearColor );
 	renderer.autoClear = false;
 	renderer.autoUpdateScene = false;
 	container.dom.appendChild( renderer.domElement );

+ 6 - 0
examples/js/renderers/SVGRenderer.js

@@ -63,6 +63,12 @@ THREE.SVGRenderer = function () {
 	this.supportsVertexTextures = function () {};
 	this.setFaceCulling = function () {};
 
+	this.setClearColor = function ( color, alpha ) {
+
+		// TODO
+
+	};
+
 	this.setSize = function( width, height ) {
 
 		_svgWidth = width; _svgHeight = height;

+ 6 - 0
examples/js/renderers/SoftwareRenderer.js

@@ -47,6 +47,12 @@ THREE.SoftwareRenderer = function () {
 	this.supportsVertexTextures = function () {};
 	this.setFaceCulling = function () {};
 
+	this.setClearColor = function ( color, alpha ) {
+
+		// TODO
+
+	};
+
 	this.setSize = function ( width, height ) {
 
 		canvasWBlocks = Math.floor( width / blockSize );

+ 16 - 2
src/renderers/WebGLRenderer.js

@@ -21,8 +21,22 @@ THREE.WebGLRenderer = function ( parameters ) {
 	_stencil = parameters.stencil !== undefined ? parameters.stencil : true,
 	_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false,
 
-	_clearColor = parameters.clearColor !== undefined ? new THREE.Color( parameters.clearColor ) : new THREE.Color( 0x000000 ),
-	_clearAlpha = parameters.clearAlpha !== undefined ? parameters.clearAlpha : 0;
+	_clearColor = new THREE.Color( 0x000000 ),
+	_clearAlpha = 0;
+
+	if ( parameters.clearColor !== undefined ) {
+
+		console.warn( 'DEPRECATED: clearColor in WebGLRenderer constructor parameters is being removed. Use .setClearColor() instead.' );
+		_clearColor.setHex( parameters.clearColor );
+
+	}
+
+	if ( parameters.clearAlpha !== undefined ) {
+
+		console.warn( 'DEPRECATED: clearAlpha in WebGLRenderer constructor parameters is being removed. Use .setClearColor() instead.' );
+		_clearAlpha = parameters.clearAlpha;
+
+	}
 
 	// public properties
 

+ 12 - 0
src/renderers/WebGLRenderer3.js

@@ -67,6 +67,9 @@ THREE.WebGLRenderer3 = function ( parameters ) {
 
 	}
 
+	var clearColor = new THREE.Color( 0x000000 );
+	var clearAlpha = 1;
+
 	//
 
 	var modelViewMatrix = new THREE.Matrix4();
@@ -225,6 +228,15 @@ THREE.WebGLRenderer3 = function ( parameters ) {
 	this.domElement = canvas;
 	this.extensions = extensions;
 
+	this.setClearColor = function ( color, alpha ) {
+
+		clearColor.set( color );
+		clearAlpha = alpha !== undefined ? alpha : 1;
+
+		gl.clearColor( clearColor.r, clearColor.g, clearColor.b, clearAlpha );
+
+	};
+
 	this.setSize = function ( width, height ) {
 
 		canvas.width = width;