diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index a8dfbe1..ccbb887 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -162,7 +162,7 @@ gl.disable(gl.CULL_FACE); gl.enable(gl.BLEND); - this.renderTarget = new RenderTarget(this.gl, this.width, this.height, null, true); + this.renderTarget = new RenderTarget(this.gl, this.width, this.height, null, this.resolution, true); this.emit('context', gl); @@ -284,8 +284,7 @@ { SystemRenderer.prototype.resize.call(this, width, height); - this.gl.viewport(0, 0, this.width, this.height); - + // console.log(width) this.filterManager.resize(width, height); this.renderTarget.resize(width, height); }; diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index a8dfbe1..ccbb887 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -162,7 +162,7 @@ gl.disable(gl.CULL_FACE); gl.enable(gl.BLEND); - this.renderTarget = new RenderTarget(this.gl, this.width, this.height, null, true); + this.renderTarget = new RenderTarget(this.gl, this.width, this.height, null, this.resolution, true); this.emit('context', gl); @@ -284,8 +284,7 @@ { SystemRenderer.prototype.resize.call(this, width, height); - this.gl.viewport(0, 0, this.width, this.height); - + // console.log(width) this.filterManager.resize(width, height); this.renderTarget.resize(width, height); }; diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index deda715..97d7af1 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -16,7 +16,7 @@ * @param height {Number} the vertical range of the filter * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values */ -var RenderTarget = function(gl, width, height, scaleMode, root, createStencilBuffer) +var RenderTarget = function(gl, width, height, scaleMode, resolution, root) { //TODO Resolution could go here ( eg low res blurs ) @@ -42,7 +42,7 @@ this.size = new math.Rectangle(0, 0, 1, 1); - this.resolution = 1; + this.resolution = resolution || CONST.RESOLUTION; this.projectionMatrix = new math.Matrix(); @@ -112,14 +112,6 @@ this.resize(width, height); - - if (createStencilBuffer) - { - this.attachStenilBuffer(); - } - - - }; RenderTarget.prototype.constructor = RenderTarget; @@ -157,7 +149,7 @@ this.stencilBuffer = gl.createRenderbuffer(); gl.bindRenderbuffer(gl.RENDERBUFFER, this.stencilBuffer); gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.RENDERBUFFER, this.stencilBuffer); - gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, this.size.width , this.size.height ); + gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, this.size.width * this.resolution , this.size.height * this.resolution ); } }; @@ -178,7 +170,7 @@ this.projectionMatrix.append(this.transform); } - gl.viewport(0,0, projectionFrame.width, projectionFrame.height); + gl.viewport(0,0, projectionFrame.width * this.resolution, projectionFrame.height * this.resolution); }; RenderTarget.prototype.calculateProjection = function( projectionFrame ) @@ -231,13 +223,13 @@ gl.bindTexture(gl.TEXTURE_2D, this.texture); - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width , height , 0, gl.RGBA, gl.UNSIGNED_BYTE, null); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width * this.resolution, height * this.resolution , 0, gl.RGBA, gl.UNSIGNED_BYTE, null); if (this.stencilBuffer ) { // update the stencil buffer width and height gl.bindRenderbuffer(gl.RENDERBUFFER, this.stencilBuffer); - gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, width , height ); + gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, width * this.resolution, height * this.resolution ); } } diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index a8dfbe1..ccbb887 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -162,7 +162,7 @@ gl.disable(gl.CULL_FACE); gl.enable(gl.BLEND); - this.renderTarget = new RenderTarget(this.gl, this.width, this.height, null, true); + this.renderTarget = new RenderTarget(this.gl, this.width, this.height, null, this.resolution, true); this.emit('context', gl); @@ -284,8 +284,7 @@ { SystemRenderer.prototype.resize.call(this, width, height); - this.gl.viewport(0, 0, this.width, this.height); - + // console.log(width) this.filterManager.resize(width, height); this.renderTarget.resize(width, height); }; diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index deda715..97d7af1 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -16,7 +16,7 @@ * @param height {Number} the vertical range of the filter * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values */ -var RenderTarget = function(gl, width, height, scaleMode, root, createStencilBuffer) +var RenderTarget = function(gl, width, height, scaleMode, resolution, root) { //TODO Resolution could go here ( eg low res blurs ) @@ -42,7 +42,7 @@ this.size = new math.Rectangle(0, 0, 1, 1); - this.resolution = 1; + this.resolution = resolution || CONST.RESOLUTION; this.projectionMatrix = new math.Matrix(); @@ -112,14 +112,6 @@ this.resize(width, height); - - if (createStencilBuffer) - { - this.attachStenilBuffer(); - } - - - }; RenderTarget.prototype.constructor = RenderTarget; @@ -157,7 +149,7 @@ this.stencilBuffer = gl.createRenderbuffer(); gl.bindRenderbuffer(gl.RENDERBUFFER, this.stencilBuffer); gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.RENDERBUFFER, this.stencilBuffer); - gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, this.size.width , this.size.height ); + gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, this.size.width * this.resolution , this.size.height * this.resolution ); } }; @@ -178,7 +170,7 @@ this.projectionMatrix.append(this.transform); } - gl.viewport(0,0, projectionFrame.width, projectionFrame.height); + gl.viewport(0,0, projectionFrame.width * this.resolution, projectionFrame.height * this.resolution); }; RenderTarget.prototype.calculateProjection = function( projectionFrame ) @@ -231,13 +223,13 @@ gl.bindTexture(gl.TEXTURE_2D, this.texture); - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width , height , 0, gl.RGBA, gl.UNSIGNED_BYTE, null); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width * this.resolution, height * this.resolution , 0, gl.RGBA, gl.UNSIGNED_BYTE, null); if (this.stencilBuffer ) { // update the stencil buffer width and height gl.bindRenderbuffer(gl.RENDERBUFFER, this.stencilBuffer); - gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, width , height ); + gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, width * this.resolution, height * this.resolution ); } } diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 1a62ba9..c99b367 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -142,7 +142,7 @@ { var gl = this.renderer.gl; - this.textureBuffer = new RenderTarget(gl, this.width * this.resolution, this.height * this.resolution);//, this.baseTexture.scaleMode); + this.textureBuffer = new RenderTarget(gl, this.width, this.height, null, this.resolution);//, this.baseTexture.scaleMode); this.baseTexture._glTextures[gl.id] = this.textureBuffer.texture; this.render = this.renderWebGL;