diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 9bc758d..2a15245 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -169,17 +169,22 @@ */ WebGLRenderer.prototype.render = function (displayObject, renderTexture, clear, transform, skipUpdateTransform) { + + // can be handy to know! this.renderingToScreen = !renderTexture; this.emit('prerender'); + // no point rendering if our context has been blown up! if (!this.gl || this.gl.isContextLost()) { return; } + + this._lastObjectRendered = displayObject; if(!skipUpdateTransform) @@ -194,11 +199,15 @@ this.bindRenderTexture(renderTexture, transform); + this.currentRenderer.start(); + if( clear || this.clearBeforeRender) { renderTarget.clear(); } + + displayObject.renderWebGL(this); // apply transform.. @@ -377,13 +386,18 @@ */ WebGLRenderer.prototype.reset = function () { + this.currentRenderer.stop(); + this._activeShader = null; this._activeRenderTarget = null; + this._activeTextureLocation = 999; + this._activeTexture = null; // bind the main frame buffer (the screen); this.rootRenderTarget.activate(); - this.state.reset(); + this.state.resetToDefault(); + return this; }; diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 9bc758d..2a15245 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -169,17 +169,22 @@ */ WebGLRenderer.prototype.render = function (displayObject, renderTexture, clear, transform, skipUpdateTransform) { + + // can be handy to know! this.renderingToScreen = !renderTexture; this.emit('prerender'); + // no point rendering if our context has been blown up! if (!this.gl || this.gl.isContextLost()) { return; } + + this._lastObjectRendered = displayObject; if(!skipUpdateTransform) @@ -194,11 +199,15 @@ this.bindRenderTexture(renderTexture, transform); + this.currentRenderer.start(); + if( clear || this.clearBeforeRender) { renderTarget.clear(); } + + displayObject.renderWebGL(this); // apply transform.. @@ -377,13 +386,18 @@ */ WebGLRenderer.prototype.reset = function () { + this.currentRenderer.stop(); + this._activeShader = null; this._activeRenderTarget = null; + this._activeTextureLocation = 999; + this._activeTexture = null; // bind the main frame buffer (the screen); this.rootRenderTarget.activate(); - this.state.reset(); + this.state.resetToDefault(); + return this; }; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 655e9e8..0502879 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -64,14 +64,11 @@ { this.setBlend(state[BLEND]); this.setDepthTest(state[DEPTH_TEST]); - this.setDepthTest(state[FRONT_FACE]); - this.setDepthTest(state[CULL_FACE]); - this.setDepthTest(state[BLEND_FUNC]); + this.setFrontFace(state[FRONT_FACE]); + this.setCullFace(state[CULL_FACE]); + this.setBlendMode(state[BLEND_FUNC]); }; -WebGLState.prototype.setBlendMode = function() -{ -}; WebGLState.prototype.setBlend = function(value) { @@ -184,6 +181,7 @@ this.nativeVaoExtension.bindVertexArrayOES(null); } + var gl = this.gl; // reset all attributs.. this.resetAttributes(); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 9bc758d..2a15245 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -169,17 +169,22 @@ */ WebGLRenderer.prototype.render = function (displayObject, renderTexture, clear, transform, skipUpdateTransform) { + + // can be handy to know! this.renderingToScreen = !renderTexture; this.emit('prerender'); + // no point rendering if our context has been blown up! if (!this.gl || this.gl.isContextLost()) { return; } + + this._lastObjectRendered = displayObject; if(!skipUpdateTransform) @@ -194,11 +199,15 @@ this.bindRenderTexture(renderTexture, transform); + this.currentRenderer.start(); + if( clear || this.clearBeforeRender) { renderTarget.clear(); } + + displayObject.renderWebGL(this); // apply transform.. @@ -377,13 +386,18 @@ */ WebGLRenderer.prototype.reset = function () { + this.currentRenderer.stop(); + this._activeShader = null; this._activeRenderTarget = null; + this._activeTextureLocation = 999; + this._activeTexture = null; // bind the main frame buffer (the screen); this.rootRenderTarget.activate(); - this.state.reset(); + this.state.resetToDefault(); + return this; }; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 655e9e8..0502879 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -64,14 +64,11 @@ { this.setBlend(state[BLEND]); this.setDepthTest(state[DEPTH_TEST]); - this.setDepthTest(state[FRONT_FACE]); - this.setDepthTest(state[CULL_FACE]); - this.setDepthTest(state[BLEND_FUNC]); + this.setFrontFace(state[FRONT_FACE]); + this.setCullFace(state[CULL_FACE]); + this.setBlendMode(state[BLEND_FUNC]); }; -WebGLState.prototype.setBlendMode = function() -{ -}; WebGLState.prototype.setBlend = function(value) { @@ -184,6 +181,7 @@ this.nativeVaoExtension.bindVertexArrayOES(null); } + var gl = this.gl; // reset all attributs.. this.resetAttributes(); diff --git a/src/filters/godray/GodrayFilter.js b/src/filters/godray/GodrayFilter.js index 9d79ca3..28c9a42 100644 --- a/src/filters/godray/GodrayFilter.js +++ b/src/filters/godray/GodrayFilter.js @@ -23,8 +23,8 @@ this.uniforms.density = 0.84; this.uniforms.weight = 5.65; - this.uniforms.lightPositionOnScreen[0] = 0.5///0.5; - this.uniforms.lightPositionOnScreen[1] = 0.5//; + this.uniforms.lightPositionOnScreen[0] = 0.5;///0.5; + this.uniforms.lightPositionOnScreen[1] = 0.5;//; } GodrayFilter.prototype = Object.create(core.Filter.prototype); @@ -33,7 +33,7 @@ GodrayFilter.prototype.apply = function (filterManager, input, output, clear) { - + filterManager.applyFilter(this, input, output, clear); };