Added phaser build and hellophaser sample
This commit is contained in:
51
filters/SampleFilter.js
Normal file
51
filters/SampleFilter.js
Normal file
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
* A sample demonstrating how to create new Phaser Filters.
|
||||
*/
|
||||
Phaser.Filter.SampleFilter = function (game) {
|
||||
|
||||
Phaser.Filter.call(this, game);
|
||||
|
||||
/**
|
||||
* By default the following uniforms are already created and available:
|
||||
*
|
||||
* uniform float time - The current number of elapsed milliseconds in the game.
|
||||
* uniform vec3 resolution - The dimensions of the filter. Can be set via setSize(width, height)
|
||||
* uniform vec4 mouse - The mouse / touch coordinates taken from the pointer given to the update function, if any.
|
||||
* uniform sampler2D uSampler - The current texture (usually the texture of the Sprite the shader is bound to)
|
||||
*
|
||||
* Add in any additional vars you require. Here is a new one called 'wobble' that is a 2f:
|
||||
*
|
||||
* this.uniforms.wobble = { type: '2f', value: { x: 0, y: 0 }};
|
||||
*
|
||||
* The supported types are: 1f, 1fv, 1i, 2f, 2fv, 2i, 2iv, 3f, 3fv, 3i, 3iv, 4f, 4fv, 4i, 4iv, mat2, mat3, mat4 and sampler2D.
|
||||
*/
|
||||
|
||||
this.uniforms.divisor = { type: '1f', value: 0.5 };
|
||||
|
||||
// The fragment shader source
|
||||
this.fragmentSrc = [
|
||||
|
||||
"precision mediump float;",
|
||||
"uniform vec3 resolution;",
|
||||
"uniform float time;",
|
||||
"uniform float divisor;",
|
||||
|
||||
"void main(void) {",
|
||||
"vec2 uv = gl_FragCoord.xy / resolution.xy;",
|
||||
"gl_FragColor = vec4(uv, divisor * sin(time), 0.0);",
|
||||
"}"
|
||||
];
|
||||
|
||||
};
|
||||
|
||||
Phaser.Filter.SampleFilter.prototype = Object.create(Phaser.Filter.prototype);
|
||||
Phaser.Filter.SampleFilter.prototype.constructor = Phaser.Filter.SampleFilter;
|
||||
|
||||
Phaser.Filter.SampleFilter.prototype.init = function (width, height, divisor) {
|
||||
|
||||
if (typeof divisor == 'undefined') { divisor = 0.5; }
|
||||
|
||||
this.setResolution(width, height);
|
||||
this.uniforms.divisor.value = divisor;
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user