diff --git a/docs/api/en/renderers/WebGLRenderTargetCube.html b/docs/api/en/renderers/WebGLRenderTargetCube.html
index 4140fb00c37e2d629fc09be56a0ad93182aecf3e..7a0b6c444d6721c1816b081735b877254ee70964 100644
--- a/docs/api/en/renderers/WebGLRenderTargetCube.html
+++ b/docs/api/en/renderers/WebGLRenderTargetCube.html
@@ -50,12 +50,6 @@
Properties
- [property:integer activeCubeFace]
-
- The activeCubeFace property corresponds to a cube side (PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5) and is
- used and set internally by the [page:CubeCamera].
-
-
See [page:WebGLRenderTarget] for inherited properties
diff --git a/docs/api/en/renderers/WebGLRenderer.html b/docs/api/en/renderers/WebGLRenderer.html
index 598b44c724716bded54d8c58b7589f8c2b0b4f50..2eee5a60bde212275be1d3241b746b1d7b97514f 100644
--- a/docs/api/en/renderers/WebGLRenderer.html
+++ b/docs/api/en/renderers/WebGLRenderer.html
@@ -434,9 +434,11 @@
[method:null setPixelRatio]( [param:number value] )
Sets device pixel ratio. This is usually used for HiDPI device to prevent bluring output canvas.
- [method:null setRenderTarget]( [param:WebGLRenderTarget renderTarget] )
+ [method:null setRenderTarget]( [param:WebGLRenderTarget renderTarget], [param:Integer activeCubeFace], [param:Integer activeMipMapLevel] )
- renderTarget -- The [page:WebGLRenderTarget renderTarget] that needs to be activated (optional).
+ renderTarget -- The [page:WebGLRenderTarget renderTarget] that needs to be activated (optional).
+ activeCubeFace -- Specifies the active cube side (PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5) of [page:WebGLRenderTargetCube] (optional).
+ activeMipMapLevel -- Specifies the active mipmap level (optional).
This method sets the active rendertarget. If the parameter is omitted the canvas is set as the active rendertarget.
diff --git a/docs/api/zh/renderers/WebGLRenderTargetCube.html b/docs/api/zh/renderers/WebGLRenderTargetCube.html
index 4426ed2c579936e7108dd25f9677a0d6635ff10e..26c8b9fbcf2543e9eca987d44bb24421f54c695f 100644
--- a/docs/api/zh/renderers/WebGLRenderTargetCube.html
+++ b/docs/api/zh/renderers/WebGLRenderTargetCube.html
@@ -47,11 +47,6 @@
属性
- [property:integer activeCubeFace]
-
- activeCubeFace属性对应立方体的面(PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5) 并由[page:CubeCamera]内部使用和设置
-
-
继承属性,请参阅[page:WebGLRenderTarget]
diff --git a/docs/api/zh/renderers/WebGLRenderer.html b/docs/api/zh/renderers/WebGLRenderer.html
index ddf6a9cb74b08099b061df42e8c9d9e6d669d0c6..83d95dae675f5e8d229542f77cadaf53a635513b 100644
--- a/docs/api/zh/renderers/WebGLRenderer.html
+++ b/docs/api/zh/renderers/WebGLRenderer.html
@@ -387,9 +387,11 @@
[method:null setPixelRatio]( [param:number value] )
设置设备像素比。通常用于避免HiDPI设备上绘图模糊
- [method:null setRenderTarget]( [param:WebGLRenderTarget renderTarget] )
+ [method:null setRenderTarget]( [param:WebGLRenderTarget renderTarget], [param:Integer activeCubeFace], [param:Integer activeMipMapLevel] )
- renderTarget -- 需要被激活的[page:WebGLRenderTarget renderTarget](可选).
+ renderTarget -- 需要被激活的[page:WebGLRenderTarget renderTarget](可选).
+ activeCubeFace -- Specifies the active cube side (PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5) of [page:WebGLRenderTargetCube] (optional).
+ activeMipMapLevel -- Specifies the active mipmap level (optional).
该方法设置活跃rendertarget. 参数缺省则将canvas设置成活跃rendertarget
diff --git a/examples/js/loaders/EquirectangularToCubeGenerator.js b/examples/js/loaders/EquirectangularToCubeGenerator.js
index 2859da711d2ddec0918cb87f771be893245e8728..2ee867448c791628bb97da8c2ee67224a8f9e3fa 100644
--- a/examples/js/loaders/EquirectangularToCubeGenerator.js
+++ b/examples/js/loaders/EquirectangularToCubeGenerator.js
@@ -162,15 +162,13 @@ THREE.EquirectangularToCubeGenerator = ( function () {
for ( var i = 0; i < 6; i ++ ) {
- this.renderTarget.activeCubeFace = i;
-
var v = this.views[ i ];
camera.position.set( 0, 0, 0 );
camera.up.set( v.u[ 0 ], v.u[ 1 ], v.u[ 2 ] );
camera.lookAt( v.t[ 0 ], v.t[ 1 ], v.t[ 2 ] );
- renderer.setRenderTarget( this.renderTarget );
+ renderer.setRenderTarget( this.renderTarget, i );
renderer.clear();
renderer.render( scene, camera );
diff --git a/examples/js/pmrem/PMREMGenerator.js b/examples/js/pmrem/PMREMGenerator.js
index 73e49669f87a952815204dac89770bfec3eb41b4..8fcc3a41280124e1be2492da1ec1c15ff06450ff 100644
--- a/examples/js/pmrem/PMREMGenerator.js
+++ b/examples/js/pmrem/PMREMGenerator.js
@@ -135,9 +135,8 @@ THREE.PMREMGenerator = ( function () {
renderToCubeMapTargetFace: function ( renderer, renderTarget, faceIndex ) {
- renderTarget.activeCubeFace = faceIndex;
shader.uniforms[ 'faceIndex' ].value = faceIndex;
- renderer.setRenderTarget( renderTarget );
+ renderer.setRenderTarget( renderTarget, faceIndex );
renderer.clear();
renderer.render( scene, camera );
diff --git a/src/cameras/CubeCamera.js b/src/cameras/CubeCamera.js
index ae3ae3ecf2cfce8e92e33784034ef846eb68a494..d03cb61f5fdccec47e1526c44a258f9aef0857a5 100644
--- a/src/cameras/CubeCamera.js
+++ b/src/cameras/CubeCamera.js
@@ -65,26 +65,24 @@ function CubeCamera( near, far, cubeResolution, options ) {
renderTarget.texture.generateMipmaps = false;
- renderTarget.activeCubeFace = 0;
- renderer.setRenderTarget( renderTarget );
-
+ renderer.setRenderTarget( renderTarget, 0 );
renderer.render( scene, cameraPX );
- renderTarget.activeCubeFace = 1;
+ renderer.setRenderTarget( renderTarget, 1 );
renderer.render( scene, cameraNX );
- renderTarget.activeCubeFace = 2;
+ renderer.setRenderTarget( renderTarget, 2 );
renderer.render( scene, cameraPY );
- renderTarget.activeCubeFace = 3;
+ renderer.setRenderTarget( renderTarget, 3 );
renderer.render( scene, cameraNY );
- renderTarget.activeCubeFace = 4;
+ renderer.setRenderTarget( renderTarget, 4 );
renderer.render( scene, cameraPZ );
renderTarget.texture.generateMipmaps = generateMipmaps;
- renderTarget.activeCubeFace = 5;
+ renderer.setRenderTarget( renderTarget, 5 );
renderer.render( scene, cameraNZ );
renderer.setRenderTarget( currentRenderTarget );
diff --git a/src/renderers/WebGLRenderTargetCube.d.ts b/src/renderers/WebGLRenderTargetCube.d.ts
index 877effb8661376d7572b9fa8f6b1a33978f234fd..e26cf2b42eb3290c64ff4bb55dfd3173e48c9b79 100644
--- a/src/renderers/WebGLRenderTargetCube.d.ts
+++ b/src/renderers/WebGLRenderTargetCube.d.ts
@@ -10,6 +10,4 @@ export class WebGLRenderTargetCube extends WebGLRenderTarget {
options?: WebGLRenderTargetOptions
);
- activeCubeFace: number; // PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5
- activeMipMapLevel: number;
}
diff --git a/src/renderers/WebGLRenderTargetCube.js b/src/renderers/WebGLRenderTargetCube.js
index 666201693982e0cf793995b48406e3d864cf0794..b4c92a6f347270a8bb0b0f366ce5959b26c8782d 100644
--- a/src/renderers/WebGLRenderTargetCube.js
+++ b/src/renderers/WebGLRenderTargetCube.js
@@ -8,9 +8,6 @@ function WebGLRenderTargetCube( width, height, options ) {
WebGLRenderTarget.call( this, width, height, options );
- this.activeCubeFace = 0; // PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5
- this.activeMipMapLevel = 0;
-
}
WebGLRenderTargetCube.prototype = Object.create( WebGLRenderTarget.prototype );
diff --git a/src/renderers/WebGLRenderer.d.ts b/src/renderers/WebGLRenderer.d.ts
index 7a678b05c6d1cf14550ac3c9902249b1f4460b4d..5f93afcc9073d93d3dc526d515e3dcf8fbd29dfe 100644
--- a/src/renderers/WebGLRenderer.d.ts
+++ b/src/renderers/WebGLRenderer.d.ts
@@ -321,13 +321,13 @@ export class WebGLRenderer implements Renderer {
/**
* Render a scene using a camera.
- * The render is done to a previously specified {@link WebGLRenderTarget#renderTarget .renderTarget} set by calling
+ * The render is done to a previously specified {@link WebGLRenderTarget#renderTarget .renderTarget} set by calling
* {@link WebGLRenderer#setRenderTarget .setRenderTarget} or to the canvas as usual.
- *
- * By default render buffers are cleared before rendering but you can prevent this by setting the property
- * {@link WebGLRenderer#autoClear autoClear} to false. If you want to prevent only certain buffers being cleared
- * you can set either the {@link WebGLRenderer#autoClearColor autoClearColor},
- * {@link WebGLRenderer#autoClearStencil autoClearStencil} or {@link WebGLRenderer#autoClearDepth autoClearDepth}
+ *
+ * By default render buffers are cleared before rendering but you can prevent this by setting the property
+ * {@link WebGLRenderer#autoClear autoClear} to false. If you want to prevent only certain buffers being cleared
+ * you can set either the {@link WebGLRenderer#autoClearColor autoClearColor},
+ * {@link WebGLRenderer#autoClearStencil autoClearStencil} or {@link WebGLRenderer#autoClearDepth autoClearDepth}
* properties to false. To forcibly clear one ore more buffers call {@link WebGLRenderer#clear .clear}.
*/
render(
@@ -346,7 +346,7 @@ export class WebGLRenderer implements Renderer {
* @deprecated Use {@link WebGLRenderer#getRenderTarget .getRenderTarget()} instead.
*/
getCurrentRenderTarget(): RenderTarget;
- setRenderTarget(renderTarget?: RenderTarget): void;
+ setRenderTarget(renderTarget?: RenderTarget, activeCubeFace?: number, activeMipMapLevel?: number): void;
readRenderTargetPixels(
renderTarget: RenderTarget,
x: number,
diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js
index 3967a1950e0f808898e8e06967c6bf147d08a47f..018662d2c0b0831b40339f13a3a31573be90dd48 100644
--- a/src/renderers/WebGLRenderer.js
+++ b/src/renderers/WebGLRenderer.js
@@ -2548,7 +2548,7 @@ function WebGLRenderer( parameters ) {
};
- this.setRenderTarget = function ( renderTarget ) {
+ this.setRenderTarget = function ( renderTarget, activeCubeFace, activeMipMapLevel ) {
_currentRenderTarget = renderTarget;
@@ -2567,7 +2567,7 @@ function WebGLRenderer( parameters ) {
if ( renderTarget.isWebGLRenderTargetCube ) {
- framebuffer = __webglFramebuffer[ renderTarget.activeCubeFace ];
+ framebuffer = __webglFramebuffer[ activeCubeFace || 0 ];
isCube = true;
} else if ( renderTarget.isWebGLMultisampleRenderTarget ) {
@@ -2606,7 +2606,7 @@ function WebGLRenderer( parameters ) {
if ( isCube ) {
var textureProperties = properties.get( renderTarget.texture );
- _gl.framebufferTexture2D( _gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + renderTarget.activeCubeFace, textureProperties.__webglTexture, renderTarget.activeMipMapLevel );
+ _gl.framebufferTexture2D( _gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + activeCubeFace || 0, textureProperties.__webglTexture, activeMipMapLevel || 0 );
}