Skip to content

Commit 2008d3b

Browse files
committed
Added popFBO parameters and setViewport parameter
1 parent f5f20db commit 2008d3b

1 file changed

Lines changed: 17 additions & 4 deletions

File tree

src/renderer/webgl/WebGLRenderer.js

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1547,13 +1547,15 @@ var WebGLRenderer = new Class({
15471547
* @param {WebGLFramebuffer} framebuffer - The framebuffer that needs to be bound.
15481548
* @param {boolean} [updateScissor=false] - If a framebuffer is given, set the gl scissor to match the frame buffer size? Or, if `null` given, pop the scissor from the stack.
15491549
* @param {boolean} [resetTextures=false] - Should the WebGL Textures be reset after the new framebuffer is bound?
1550+
* @param {boolean} [setViewport=true] - Should the WebGL viewport be set?
15501551
*
15511552
* @return {this} This WebGLRenderer instance.
15521553
*/
1553-
setFramebuffer: function (framebuffer, updateScissor, resetTextures)
1554+
setFramebuffer: function (framebuffer, updateScissor, resetTextures, setViewport)
15541555
{
15551556
if (updateScissor === undefined) { updateScissor = false; }
15561557
if (resetTextures === undefined) { resetTextures = false; }
1558+
if (setViewport === undefined) { setViewport = true; }
15571559

15581560
if (framebuffer === this.currentFramebuffer)
15591561
{
@@ -1577,7 +1579,10 @@ var WebGLRenderer = new Class({
15771579

15781580
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
15791581

1580-
gl.viewport(0, 0, width, height);
1582+
if (setViewport)
1583+
{
1584+
gl.viewport(0, 0, width, height);
1585+
}
15811586

15821587
if (updateScissor)
15831588
{
@@ -1611,10 +1616,18 @@ var WebGLRenderer = new Class({
16111616
* @method Phaser.Renderer.WebGL.WebGLRenderer#popFramebuffer
16121617
* @since 3.50.0
16131618
*
1619+
* @param {boolean} [updateScissor=false] - If a framebuffer is given, set the gl scissor to match the frame buffer size? Or, if `null` given, pop the scissor from the stack.
1620+
* @param {boolean} [resetTextures=true] - Should the WebGL Textures be reset after the new framebuffer is bound?
1621+
* @param {boolean} [setViewport=true] - Should the WebGL viewport be set?
1622+
*
16141623
* @return {WebGLFramebuffer} The Framebuffer that was set, or `null` if there aren't any more in the stack.
16151624
*/
1616-
popFramebuffer: function ()
1625+
popFramebuffer: function (updateScissor, resetTextures, setViewport)
16171626
{
1627+
if (updateScissor === undefined) { updateScissor = false; }
1628+
if (resetTextures === undefined) { resetTextures = false; }
1629+
if (setViewport === undefined) { setViewport = true; }
1630+
16181631
var fboStack = this.fboStack;
16191632

16201633
// Remove the current fbo
@@ -1628,7 +1641,7 @@ var WebGLRenderer = new Class({
16281641
framebuffer = null;
16291642
}
16301643

1631-
this.setFramebuffer(framebuffer, false, true);
1644+
this.setFramebuffer(framebuffer, updateScissor, resetTextures, setViewport);
16321645

16331646
return framebuffer;
16341647
},

0 commit comments

Comments
 (0)