Skip to content

Commit 749f4eb

Browse files
authored
Merge pull request #15796 from WestLangley/dev-set_viewport
WebGLRenderer: support Vector4 arg in setViewport()
2 parents d2b154f + 2f2f312 commit 749f4eb

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

docs/api/en/renderers/WebGLRenderer.html

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -468,8 +468,16 @@ <h3>[method:null setTextureCube]( [param:CubeTexture cubeTexture], [param:Number
468468
The slot number can be found as a value of the uniform of the sampler.
469469
</p>
470470

471-
<h3>[method:null setViewport]( [param:Integer x], [param:Integer y], [param:Integer width], [param:Integer height] )</h3>
472-
<p>Sets the viewport to render from (x, y) to (x + width, y + height).</p>
471+
<h3>[method:null setViewport]( [param:Integer x], [param:Integer y], [param:Integer width], [param:Integer height] )<br />
472+
[method:null setViewport]( [param:Vector4 vector] )</h3>
473+
474+
<p>
475+
The x, y, width, and height parameters of the viewport.<br />
476+
Optionally, a 4-component vector specifying the parameters of a viewport.<br /><br />
477+
478+
Sets the viewport to render from (x, y) to (x + width, y + height).<br />
479+
(x, y) is the lower-left corner of the region.
480+
</p>
473481

474482
<h2>Source</h2>
475483

src/renderers/WebGLRenderer.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,9 @@ export class WebGLRenderer implements Renderer {
223223

224224
/**
225225
* Sets the viewport to render from (x, y) to (x + width, y + height).
226+
* (x, y) is the lower-left corner of the region.
226227
*/
227-
setViewport(x?: number, y?: number, width?: number, height?: number): void;
228+
setViewport(x: Vector4 | number, y?: number, width?: number, height?: number): void;
228229

229230
/**
230231
* Sets the scissor area from (x, y) to (x + width, y + height).

src/renderers/WebGLRenderer.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,16 @@ function WebGLRenderer( parameters ) {
452452

453453
this.setViewport = function ( x, y, width, height ) {
454454

455-
_viewport.set( x, y, width, height );
455+
if ( x.isVector4 ) {
456+
457+
_viewport.set( x.x, x.y, x.z, x.w );
458+
459+
} else {
460+
461+
_viewport.set( x, y, width, height );
462+
463+
}
464+
456465
state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) );
457466

458467
};

0 commit comments

Comments
 (0)