diff --git a/src/core/renderers/webgl/managers/WebGLFilterManager.js b/src/core/renderers/webgl/managers/WebGLFilterManager.js index d769531..29d14a7 100644 --- a/src/core/renderers/webgl/managers/WebGLFilterManager.js +++ b/src/core/renderers/webgl/managers/WebGLFilterManager.js @@ -1,6 +1,6 @@ var WebGLManager = require('./WebGLManager'), FilterTexture = require('./FilterTexture'), - PixiShader = require('../shaders/PixiShader'); + Shader = require('../shaders/Shader'); /** * @class @@ -340,7 +340,7 @@ var shader = filter.shaders[gl.id]; if (!shader) { - shader = new PixiShader(gl); + shader = new Shader(gl); shader.fragmentSrc = filter.fragmentSrc; shader.uniforms = filter.uniforms; diff --git a/src/core/renderers/webgl/managers/WebGLFilterManager.js b/src/core/renderers/webgl/managers/WebGLFilterManager.js index d769531..29d14a7 100644 --- a/src/core/renderers/webgl/managers/WebGLFilterManager.js +++ b/src/core/renderers/webgl/managers/WebGLFilterManager.js @@ -1,6 +1,6 @@ var WebGLManager = require('./WebGLManager'), FilterTexture = require('./FilterTexture'), - PixiShader = require('../shaders/PixiShader'); + Shader = require('../shaders/Shader'); /** * @class @@ -340,7 +340,7 @@ var shader = filter.shaders[gl.id]; if (!shader) { - shader = new PixiShader(gl); + shader = new Shader(gl); shader.fragmentSrc = filter.fragmentSrc; shader.uniforms = filter.uniforms; diff --git a/src/core/renderers/webgl/managers/WebGLShaderManager.js b/src/core/renderers/webgl/managers/WebGLShaderManager.js index d02d95d..49e95da 100644 --- a/src/core/renderers/webgl/managers/WebGLShaderManager.js +++ b/src/core/renderers/webgl/managers/WebGLShaderManager.js @@ -1,8 +1,8 @@ var WebGLManager = require('./WebGLManager'), PrimitiveShader = require('../shaders/PrimitiveShader'), ComplexPrimitiveShader = require('../shaders/ComplexPrimitiveShader'), - PixiShader = require('../shaders/PixiShader'), - PixiFastShader = require('../shaders/PixiFastShader'), + Shader = require('../shaders/Shader'), + FastShader = require('../shaders/FastShader'), StripShader = require('../shaders/StripShader'); /** @@ -74,10 +74,10 @@ self.complexPrimitiveShader = new ComplexPrimitiveShader(gl); // this shader is used for the default sprite rendering - self.defaultShader = new PixiShader(gl); + self.defaultShader = new Shader(gl); // this shader is used for the fast sprite rendering - self.fastShader = new PixiFastShader(gl); + self.fastShader = new FastShader(gl); // the next one is used for rendering triangle strips self.stripShader = new StripShader(gl); diff --git a/src/core/renderers/webgl/managers/WebGLFilterManager.js b/src/core/renderers/webgl/managers/WebGLFilterManager.js index d769531..29d14a7 100644 --- a/src/core/renderers/webgl/managers/WebGLFilterManager.js +++ b/src/core/renderers/webgl/managers/WebGLFilterManager.js @@ -1,6 +1,6 @@ var WebGLManager = require('./WebGLManager'), FilterTexture = require('./FilterTexture'), - PixiShader = require('../shaders/PixiShader'); + Shader = require('../shaders/Shader'); /** * @class @@ -340,7 +340,7 @@ var shader = filter.shaders[gl.id]; if (!shader) { - shader = new PixiShader(gl); + shader = new Shader(gl); shader.fragmentSrc = filter.fragmentSrc; shader.uniforms = filter.uniforms; diff --git a/src/core/renderers/webgl/managers/WebGLShaderManager.js b/src/core/renderers/webgl/managers/WebGLShaderManager.js index d02d95d..49e95da 100644 --- a/src/core/renderers/webgl/managers/WebGLShaderManager.js +++ b/src/core/renderers/webgl/managers/WebGLShaderManager.js @@ -1,8 +1,8 @@ var WebGLManager = require('./WebGLManager'), PrimitiveShader = require('../shaders/PrimitiveShader'), ComplexPrimitiveShader = require('../shaders/ComplexPrimitiveShader'), - PixiShader = require('../shaders/PixiShader'), - PixiFastShader = require('../shaders/PixiFastShader'), + Shader = require('../shaders/Shader'), + FastShader = require('../shaders/FastShader'), StripShader = require('../shaders/StripShader'); /** @@ -74,10 +74,10 @@ self.complexPrimitiveShader = new ComplexPrimitiveShader(gl); // this shader is used for the default sprite rendering - self.defaultShader = new PixiShader(gl); + self.defaultShader = new Shader(gl); // this shader is used for the fast sprite rendering - self.fastShader = new PixiFastShader(gl); + self.fastShader = new FastShader(gl); // the next one is used for rendering triangle strips self.stripShader = new StripShader(gl); diff --git a/src/core/renderers/webgl/shaders/FastShader.js b/src/core/renderers/webgl/shaders/FastShader.js new file mode 100644 index 0000000..7439a4b --- /dev/null +++ b/src/core/renderers/webgl/shaders/FastShader.js @@ -0,0 +1,60 @@ +var Shader = require('./Shader'); + +/** + * @class + * @extends Shader + * @namespace PIXI + * @param gl {WebGLContext} the current WebGL drawing context + */ +function FastShader(gl) { + Shader.call(this, + gl, + // vertex shader + null, + // fragment shader + [ + 'attribute vec2 aVertexPosition;', + 'attribute vec2 aTextureCoord;', + 'attribute vec4 aColor;', + + 'attribute vec2 aPositionCoord;', + 'attribute vec2 aScale;', + 'attribute float aRotation;', + + 'uniform vec2 projectionVector;', + 'uniform vec2 offsetVector;', + 'uniform mat3 uMatrix;', + + 'varying vec2 vTextureCoord;', + 'varying float vColor;', + + 'const vec2 center = vec2(-1.0, 1.0);', + + 'void main(void) {', + ' vec2 v;', + ' vec2 sv = aVertexPosition * aScale;', + ' v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);', + ' v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);', + ' v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;', + ' gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);', + ' vTextureCoord = aTextureCoord;', + // ' vec3 color = mod(vec3(aColor.y/65536.0, aColor.y/256.0, aColor.y), 256.0) / 256.0;', + ' vColor = aColor;', + '}' + ].join('\n'), + // custom uniforms + { + uMatrix: { type: 'mat3', value: new Float32Array(9) } + }, + // custom attributes + { + aPositionCoord: 0, + aRotation: 0, + aScale: 0 + } + ); +} + +FastShader.prototype = Object.create(Shader.prototype); +FastShader.prototype.constructor = FastShader; +module.exports = FastShader; diff --git a/src/core/renderers/webgl/managers/WebGLFilterManager.js b/src/core/renderers/webgl/managers/WebGLFilterManager.js index d769531..29d14a7 100644 --- a/src/core/renderers/webgl/managers/WebGLFilterManager.js +++ b/src/core/renderers/webgl/managers/WebGLFilterManager.js @@ -1,6 +1,6 @@ var WebGLManager = require('./WebGLManager'), FilterTexture = require('./FilterTexture'), - PixiShader = require('../shaders/PixiShader'); + Shader = require('../shaders/Shader'); /** * @class @@ -340,7 +340,7 @@ var shader = filter.shaders[gl.id]; if (!shader) { - shader = new PixiShader(gl); + shader = new Shader(gl); shader.fragmentSrc = filter.fragmentSrc; shader.uniforms = filter.uniforms; diff --git a/src/core/renderers/webgl/managers/WebGLShaderManager.js b/src/core/renderers/webgl/managers/WebGLShaderManager.js index d02d95d..49e95da 100644 --- a/src/core/renderers/webgl/managers/WebGLShaderManager.js +++ b/src/core/renderers/webgl/managers/WebGLShaderManager.js @@ -1,8 +1,8 @@ var WebGLManager = require('./WebGLManager'), PrimitiveShader = require('../shaders/PrimitiveShader'), ComplexPrimitiveShader = require('../shaders/ComplexPrimitiveShader'), - PixiShader = require('../shaders/PixiShader'), - PixiFastShader = require('../shaders/PixiFastShader'), + Shader = require('../shaders/Shader'), + FastShader = require('../shaders/FastShader'), StripShader = require('../shaders/StripShader'); /** @@ -74,10 +74,10 @@ self.complexPrimitiveShader = new ComplexPrimitiveShader(gl); // this shader is used for the default sprite rendering - self.defaultShader = new PixiShader(gl); + self.defaultShader = new Shader(gl); // this shader is used for the fast sprite rendering - self.fastShader = new PixiFastShader(gl); + self.fastShader = new FastShader(gl); // the next one is used for rendering triangle strips self.stripShader = new StripShader(gl); diff --git a/src/core/renderers/webgl/shaders/FastShader.js b/src/core/renderers/webgl/shaders/FastShader.js new file mode 100644 index 0000000..7439a4b --- /dev/null +++ b/src/core/renderers/webgl/shaders/FastShader.js @@ -0,0 +1,60 @@ +var Shader = require('./Shader'); + +/** + * @class + * @extends Shader + * @namespace PIXI + * @param gl {WebGLContext} the current WebGL drawing context + */ +function FastShader(gl) { + Shader.call(this, + gl, + // vertex shader + null, + // fragment shader + [ + 'attribute vec2 aVertexPosition;', + 'attribute vec2 aTextureCoord;', + 'attribute vec4 aColor;', + + 'attribute vec2 aPositionCoord;', + 'attribute vec2 aScale;', + 'attribute float aRotation;', + + 'uniform vec2 projectionVector;', + 'uniform vec2 offsetVector;', + 'uniform mat3 uMatrix;', + + 'varying vec2 vTextureCoord;', + 'varying float vColor;', + + 'const vec2 center = vec2(-1.0, 1.0);', + + 'void main(void) {', + ' vec2 v;', + ' vec2 sv = aVertexPosition * aScale;', + ' v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);', + ' v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);', + ' v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;', + ' gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);', + ' vTextureCoord = aTextureCoord;', + // ' vec3 color = mod(vec3(aColor.y/65536.0, aColor.y/256.0, aColor.y), 256.0) / 256.0;', + ' vColor = aColor;', + '}' + ].join('\n'), + // custom uniforms + { + uMatrix: { type: 'mat3', value: new Float32Array(9) } + }, + // custom attributes + { + aPositionCoord: 0, + aRotation: 0, + aScale: 0 + } + ); +} + +FastShader.prototype = Object.create(Shader.prototype); +FastShader.prototype.constructor = FastShader; +module.exports = FastShader; diff --git a/src/core/renderers/webgl/shaders/PixiFastShader.js b/src/core/renderers/webgl/shaders/PixiFastShader.js deleted file mode 100644 index 973a76e..0000000 --- a/src/core/renderers/webgl/shaders/PixiFastShader.js +++ /dev/null @@ -1,60 +0,0 @@ -var Shader = require('./Shader'); - -/** - * @class - * @extends Shader - * @namespace PIXI - * @param gl {WebGLContext} the current WebGL drawing context - */ -function PixiFastShader(gl) { - Shader.call(this, - gl, - // vertex shader - null, - // fragment shader - [ - 'attribute vec2 aVertexPosition;', - 'attribute vec2 aTextureCoord;', - 'attribute vec4 aColor;', - - 'attribute vec2 aPositionCoord;', - 'attribute vec2 aScale;', - 'attribute float aRotation;', - - 'uniform vec2 projectionVector;', - 'uniform vec2 offsetVector;', - 'uniform mat3 uMatrix;', - - 'varying vec2 vTextureCoord;', - 'varying float vColor;', - - 'const vec2 center = vec2(-1.0, 1.0);', - - 'void main(void) {', - ' vec2 v;', - ' vec2 sv = aVertexPosition * aScale;', - ' v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);', - ' v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);', - ' v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;', - ' gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);', - ' vTextureCoord = aTextureCoord;', - // ' vec3 color = mod(vec3(aColor.y/65536.0, aColor.y/256.0, aColor.y), 256.0) / 256.0;', - ' vColor = aColor;', - '}' - ].join('\n'), - // custom uniforms - { - uMatrix: { type: 'mat3', value: new Float32Array(9) } - }, - // custom attributes - { - aPositionCoord: 0, - aRotation: 0, - aScale: 0 - } - ); -} - -PixiFastShader.prototype = Object.create(Shader.prototype); -PixiFastShader.prototype.constructor = PixiFastShader; -module.exports = PixiFastShader; diff --git a/src/core/renderers/webgl/managers/WebGLFilterManager.js b/src/core/renderers/webgl/managers/WebGLFilterManager.js index d769531..29d14a7 100644 --- a/src/core/renderers/webgl/managers/WebGLFilterManager.js +++ b/src/core/renderers/webgl/managers/WebGLFilterManager.js @@ -1,6 +1,6 @@ var WebGLManager = require('./WebGLManager'), FilterTexture = require('./FilterTexture'), - PixiShader = require('../shaders/PixiShader'); + Shader = require('../shaders/Shader'); /** * @class @@ -340,7 +340,7 @@ var shader = filter.shaders[gl.id]; if (!shader) { - shader = new PixiShader(gl); + shader = new Shader(gl); shader.fragmentSrc = filter.fragmentSrc; shader.uniforms = filter.uniforms; diff --git a/src/core/renderers/webgl/managers/WebGLShaderManager.js b/src/core/renderers/webgl/managers/WebGLShaderManager.js index d02d95d..49e95da 100644 --- a/src/core/renderers/webgl/managers/WebGLShaderManager.js +++ b/src/core/renderers/webgl/managers/WebGLShaderManager.js @@ -1,8 +1,8 @@ var WebGLManager = require('./WebGLManager'), PrimitiveShader = require('../shaders/PrimitiveShader'), ComplexPrimitiveShader = require('../shaders/ComplexPrimitiveShader'), - PixiShader = require('../shaders/PixiShader'), - PixiFastShader = require('../shaders/PixiFastShader'), + Shader = require('../shaders/Shader'), + FastShader = require('../shaders/FastShader'), StripShader = require('../shaders/StripShader'); /** @@ -74,10 +74,10 @@ self.complexPrimitiveShader = new ComplexPrimitiveShader(gl); // this shader is used for the default sprite rendering - self.defaultShader = new PixiShader(gl); + self.defaultShader = new Shader(gl); // this shader is used for the fast sprite rendering - self.fastShader = new PixiFastShader(gl); + self.fastShader = new FastShader(gl); // the next one is used for rendering triangle strips self.stripShader = new StripShader(gl); diff --git a/src/core/renderers/webgl/shaders/FastShader.js b/src/core/renderers/webgl/shaders/FastShader.js new file mode 100644 index 0000000..7439a4b --- /dev/null +++ b/src/core/renderers/webgl/shaders/FastShader.js @@ -0,0 +1,60 @@ +var Shader = require('./Shader'); + +/** + * @class + * @extends Shader + * @namespace PIXI + * @param gl {WebGLContext} the current WebGL drawing context + */ +function FastShader(gl) { + Shader.call(this, + gl, + // vertex shader + null, + // fragment shader + [ + 'attribute vec2 aVertexPosition;', + 'attribute vec2 aTextureCoord;', + 'attribute vec4 aColor;', + + 'attribute vec2 aPositionCoord;', + 'attribute vec2 aScale;', + 'attribute float aRotation;', + + 'uniform vec2 projectionVector;', + 'uniform vec2 offsetVector;', + 'uniform mat3 uMatrix;', + + 'varying vec2 vTextureCoord;', + 'varying float vColor;', + + 'const vec2 center = vec2(-1.0, 1.0);', + + 'void main(void) {', + ' vec2 v;', + ' vec2 sv = aVertexPosition * aScale;', + ' v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);', + ' v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);', + ' v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;', + ' gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);', + ' vTextureCoord = aTextureCoord;', + // ' vec3 color = mod(vec3(aColor.y/65536.0, aColor.y/256.0, aColor.y), 256.0) / 256.0;', + ' vColor = aColor;', + '}' + ].join('\n'), + // custom uniforms + { + uMatrix: { type: 'mat3', value: new Float32Array(9) } + }, + // custom attributes + { + aPositionCoord: 0, + aRotation: 0, + aScale: 0 + } + ); +} + +FastShader.prototype = Object.create(Shader.prototype); +FastShader.prototype.constructor = FastShader; +module.exports = FastShader; diff --git a/src/core/renderers/webgl/shaders/PixiFastShader.js b/src/core/renderers/webgl/shaders/PixiFastShader.js deleted file mode 100644 index 973a76e..0000000 --- a/src/core/renderers/webgl/shaders/PixiFastShader.js +++ /dev/null @@ -1,60 +0,0 @@ -var Shader = require('./Shader'); - -/** - * @class - * @extends Shader - * @namespace PIXI - * @param gl {WebGLContext} the current WebGL drawing context - */ -function PixiFastShader(gl) { - Shader.call(this, - gl, - // vertex shader - null, - // fragment shader - [ - 'attribute vec2 aVertexPosition;', - 'attribute vec2 aTextureCoord;', - 'attribute vec4 aColor;', - - 'attribute vec2 aPositionCoord;', - 'attribute vec2 aScale;', - 'attribute float aRotation;', - - 'uniform vec2 projectionVector;', - 'uniform vec2 offsetVector;', - 'uniform mat3 uMatrix;', - - 'varying vec2 vTextureCoord;', - 'varying float vColor;', - - 'const vec2 center = vec2(-1.0, 1.0);', - - 'void main(void) {', - ' vec2 v;', - ' vec2 sv = aVertexPosition * aScale;', - ' v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);', - ' v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);', - ' v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;', - ' gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);', - ' vTextureCoord = aTextureCoord;', - // ' vec3 color = mod(vec3(aColor.y/65536.0, aColor.y/256.0, aColor.y), 256.0) / 256.0;', - ' vColor = aColor;', - '}' - ].join('\n'), - // custom uniforms - { - uMatrix: { type: 'mat3', value: new Float32Array(9) } - }, - // custom attributes - { - aPositionCoord: 0, - aRotation: 0, - aScale: 0 - } - ); -} - -PixiFastShader.prototype = Object.create(Shader.prototype); -PixiFastShader.prototype.constructor = PixiFastShader; -module.exports = PixiFastShader; diff --git a/src/core/renderers/webgl/utils/WebGLSpriteBatch.js b/src/core/renderers/webgl/utils/WebGLSpriteBatch.js index 768c3c4..eb5f55b 100644 --- a/src/core/renderers/webgl/utils/WebGLSpriteBatch.js +++ b/src/core/renderers/webgl/utils/WebGLSpriteBatch.js @@ -1,5 +1,5 @@ var AbstractFilter = require('../../../../filters/AbstractFilter'), - PixiShader = require('../shaders/PixiShader'), + Shader = require('../shaders/Shader'), TextureUvs = require('./TextureUvs'); /** @@ -153,7 +153,7 @@ this.currentBlendMode = 99999; - var shader = new PixiShader(gl); + var shader = new Shader(gl); shader.fragmentSrc = this.defaultShader.fragmentSrc; shader.uniforms = {}; @@ -505,7 +505,7 @@ shader = currentShader.shaders[gl.id]; if (!shader) { - shader = new PixiShader(gl); + shader = new Shader(gl); shader.fragmentSrc =currentShader.fragmentSrc; shader.uniforms =currentShader.uniforms;