提交 d1e4dbc9 编写于 作者: W WestLangley

Require target Vector2 in WebGLRenderer getSize() methods

上级 c4dff1c9
......@@ -351,14 +351,22 @@
<h3>[method:RenderTarget getCurrentViewport]()</h3>
<p>Returns the current viewport.</p>
<h3>[method:Object getDrawingBufferSize]()</h3>
<p>Returns an object containing the width and height of the renderer's drawing buffer, in pixels.</p>
<h3>[method:Vector2 getDrawingBufferSize]( [param:Vector2 target] )</h3>
<p>
[page:Vector2 target] — the result will be copied into this Vector2.<br /><br />
Returns the width and height of the renderer's drawing buffer, in pixels.
</p>
<h3>[method:number getPixelRatio]()</h3>
<p>Returns current device pixel ratio used.</p>
<h3>[method:Object getSize]()</h3>
<p>Returns an object containing the width and height of the renderer's output canvas, in pixels.</p>
<h3>[method:Vector2 getSize]( [param:Vector2 target] )</h3>
<p>
[page:Vector2 target] — the result will be copied into this Vector2.<br /><br />
Returns the width and height of the renderer's output canvas, in pixels.
</p>
<h3>[method:null resetGLState]( )</h3>
<p>Reset the GL state to default. Called internally if the WebGL context is lost.</p>
......
......@@ -478,9 +478,9 @@ THREE.OutlineEffect = function ( renderer, parameters ) {
};
this.getSize = function () {
this.getSize = function ( target ) {
return renderer.getSize();
return renderer.getSize( target );
};
......
......@@ -9,6 +9,7 @@ THREE.StereoEffect = function ( renderer ) {
var _stereo = new THREE.StereoCamera();
_stereo.aspect = 0.5;
var size = new THREE.Vector2();
this.setEyeSeparation = function ( eyeSep ) {
......@@ -30,7 +31,7 @@ THREE.StereoEffect = function ( renderer ) {
_stereo.update( camera );
var size = renderer.getSize();
renderer.getSize( size );
if ( renderer.autoClear ) renderer.clear();
renderer.setScissorTest( true );
......
......@@ -16,7 +16,7 @@ function NodePostProcessing( renderer, renderTarget ) {
stencilBuffer: false
};
var size = renderer.getDrawingBufferSize();
var size = renderer.getDrawingBufferSize( new THREE.Vector2() );
renderTarget = new THREE.WebGLRenderTarget( size.width, size.height, parameters );
}
......
......@@ -15,7 +15,7 @@ THREE.EffectComposer = function ( renderer, renderTarget ) {
stencilBuffer: false
};
var size = renderer.getDrawingBufferSize();
var size = renderer.getDrawingBufferSize( new THREE.Vector2() );
renderTarget = new THREE.WebGLRenderTarget( size.width, size.height, parameters );
renderTarget.texture.name = 'EffectComposer.rt1';
......@@ -64,7 +64,7 @@ Object.assign( THREE.EffectComposer.prototype, {
this.passes.push( pass );
var size = this.renderer.getDrawingBufferSize();
var size = this.renderer.getDrawingBufferSize( new THREE.Vector2() );
pass.setSize( size.width, size.height );
},
......@@ -139,7 +139,7 @@ Object.assign( THREE.EffectComposer.prototype, {
if ( renderTarget === undefined ) {
var size = this.renderer.getDrawingBufferSize();
var size = this.renderer.getDrawingBufferSize( new THREE.Vector2() );
renderTarget = this.renderTarget1.clone();
renderTarget.setSize( size.width, size.height );
......
......@@ -125,8 +125,8 @@ THREE.WebGLDeferredRenderer = function ( parameters ) {
_gl = _this.renderer.context;
_width = parameters.width !== undefined ? parameters.width : _this.renderer.getSize().width;
_height = parameters.height !== undefined ? parameters.height : _this.renderer.getSize().height;
_width = parameters.width !== undefined ? parameters.width : _this.renderer.getSize( new THREE.Vector2() ).width;
_height = parameters.height !== undefined ? parameters.height : _this.renderer.getSize( new THREE.Vector2() ).height;
var antialias = parameters.antialias !== undefined ? parameters.antialias : false;
......
......@@ -130,7 +130,7 @@
stencilBuffer: false
};
var size = renderer.getDrawingBufferSize();
var size = renderer.getDrawingBufferSize( new THREE.Vector2() );
var renderTarget = new THREE.WebGLMultisampleRenderTarget( size.width, size.height, parameters );
var renderPass = new THREE.RenderPass( scene, camera );
......
......@@ -369,7 +369,7 @@
// POST
var size = renderer.getDrawingBufferSize();
var size = renderer.getDrawingBufferSize( new THREE.Vector2() );
var screen = new THREE.ScreenNode();
......@@ -451,7 +451,7 @@
// POST
var size = renderer.getDrawingBufferSize();
var size = renderer.getDrawingBufferSize( new THREE.Vector2() );
var blurScreen = new THREE.BlurNode( new THREE.ScreenNode() );
blurScreen.size = new THREE.Vector2( size.width, size.height );
......
......@@ -432,7 +432,7 @@
// PASS
var size = renderer.getDrawingBufferSize();
var size = renderer.getDrawingBufferSize( new THREE.Vector2() );
var blurScreen = new THREE.BlurNode( new THREE.ScreenNode() );
blurScreen.size = new THREE.Vector2( size.width, size.height );
......
......@@ -17,6 +17,7 @@ import { Matrix4 } from '../math/Matrix4.js';
import { ShaderLib } from './shaders/ShaderLib.js';
import { UniformsLib } from './shaders/UniformsLib.js';
import { cloneUniforms } from './shaders/UniformsUtils.js';
import { Vector2 } from '../math/Vector2.js';
import { Vector3 } from '../math/Vector3.js';
import { Vector4 } from '../math/Vector4.js';
import { WebGLAnimation } from './webgl/WebGLAnimation.js';
......@@ -360,12 +361,17 @@ function WebGLRenderer( parameters ) {
};
this.getSize = function () {
this.getSize = function ( target ) {
return {
width: _width,
height: _height
};
if ( target === undefined ) {
console.warn( 'WebGLRenderer: .getsize() now requires a Vector2 as an argument' );
target = new Vector2();
}
return target.set( _width, _height );
};
......@@ -395,12 +401,17 @@ function WebGLRenderer( parameters ) {
};
this.getDrawingBufferSize = function () {
this.getDrawingBufferSize = function ( target ) {
return {
width: _width * _pixelRatio,
height: _height * _pixelRatio
};
if ( target === undefined ) {
console.warn( 'WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument' );
target = new Vector2();
}
return target.set( _width * _pixelRatio, _height * _pixelRatio );
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册