@@ -59,7 +59,48 @@ Phaser.Renderer.WebGL.FilterManager.prototype = {
5959
6060 this . texturePool = [ ] ;
6161
62- this . initShaderBuffers ( ) ;
62+ // Initialises the shader buffers
63+
64+ this . vertexBuffer = gl . createBuffer ( ) ;
65+ this . uvBuffer = gl . createBuffer ( ) ;
66+ this . colorBuffer = gl . createBuffer ( ) ;
67+ this . indexBuffer = gl . createBuffer ( ) ;
68+
69+ // bind and upload the vertex data
70+ this . vertexArray = new Float32Array ( [
71+ 0.0 , 0.0 ,
72+ 1.0 , 0.0 ,
73+ 0.0 , 1.0 ,
74+ 1.0 , 1.0
75+ ] ) ;
76+
77+ gl . bindBuffer ( gl . ARRAY_BUFFER , this . vertexBuffer ) ;
78+ gl . bufferData ( gl . ARRAY_BUFFER , this . vertexArray , gl . STATIC_DRAW ) ;
79+
80+ // bind and upload the uv buffer
81+ this . uvArray = new Float32Array ( [
82+ 0.0 , 0.0 ,
83+ 1.0 , 0.0 ,
84+ 0.0 , 1.0 ,
85+ 1.0 , 1.0
86+ ] ) ;
87+
88+ gl . bindBuffer ( gl . ARRAY_BUFFER , this . uvBuffer ) ;
89+ gl . bufferData ( gl . ARRAY_BUFFER , this . uvArray , gl . STATIC_DRAW ) ;
90+
91+ this . colorArray = new Float32Array ( [
92+ 1.0 , 0xFFFFFF ,
93+ 1.0 , 0xFFFFFF ,
94+ 1.0 , 0xFFFFFF ,
95+ 1.0 , 0xFFFFFF
96+ ] ) ;
97+
98+ gl . bindBuffer ( gl . ARRAY_BUFFER , this . colorBuffer ) ;
99+ gl . bufferData ( gl . ARRAY_BUFFER , this . colorArray , gl . STATIC_DRAW ) ;
100+
101+ // bind and upload the index
102+ gl . bindBuffer ( gl . ELEMENT_ARRAY_BUFFER , this . indexBuffer ) ;
103+ gl . bufferData ( gl . ELEMENT_ARRAY_BUFFER , new Uint16Array ( [ 0 , 1 , 2 , 1 , 3 , 2 ] ) , gl . STATIC_DRAW ) ;
63104 } ,
64105
65106 /**
@@ -365,7 +406,7 @@ Phaser.Renderer.WebGL.FilterManager.prototype = {
365406 applyFilterPass : function ( filter , filterArea , width , height )
366407 {
367408 var gl = this . gl ;
368- var shader = filter . shaders [ gl . id ] ;
409+ var shader = filter . shaders ;
369410
370411 if ( ! shader )
371412 {
@@ -375,7 +416,7 @@ Phaser.Renderer.WebGL.FilterManager.prototype = {
375416 shader . uniforms = filter . uniforms ;
376417 shader . init ( true ) ;
377418
378- filter . shaders [ gl . id ] = shader ;
419+ filter . shaders = shader ;
379420 }
380421
381422 this . renderer . shaderManager . setShader ( shader ) ;
@@ -409,58 +450,6 @@ Phaser.Renderer.WebGL.FilterManager.prototype = {
409450 this . renderer . drawCount ++ ;
410451 } ,
411452
412- /**
413- * Initialises the shader buffers.
414- *
415- * @method initShaderBuffers
416- */
417- initShaderBuffers : function ( )
418- {
419- var gl = this . gl ;
420-
421- this . vertexBuffer = gl . createBuffer ( ) ;
422- this . uvBuffer = gl . createBuffer ( ) ;
423- this . colorBuffer = gl . createBuffer ( ) ;
424- this . indexBuffer = gl . createBuffer ( ) ;
425-
426- // bind and upload the vertex data
427- this . vertexArray = new Float32Array ( [
428- 0.0 , 0.0 ,
429- 1.0 , 0.0 ,
430- 0.0 , 1.0 ,
431- 1.0 , 1.0
432- ] ) ;
433-
434- gl . bindBuffer ( gl . ARRAY_BUFFER , this . vertexBuffer ) ;
435- gl . bufferData ( gl . ARRAY_BUFFER , this . vertexArray , gl . STATIC_DRAW ) ;
436-
437- // bind and upload the uv buffer
438- this . uvArray = new Float32Array ( [
439- 0.0 , 0.0 ,
440- 1.0 , 0.0 ,
441- 0.0 , 1.0 ,
442- 1.0 , 1.0
443- ] ) ;
444-
445- gl . bindBuffer ( gl . ARRAY_BUFFER , this . uvBuffer ) ;
446- gl . bufferData ( gl . ARRAY_BUFFER , this . uvArray , gl . STATIC_DRAW ) ;
447-
448- this . colorArray = new Float32Array ( [
449- 1.0 , 0xFFFFFF ,
450- 1.0 , 0xFFFFFF ,
451- 1.0 , 0xFFFFFF ,
452- 1.0 , 0xFFFFFF
453- ] ) ;
454-
455- gl . bindBuffer ( gl . ARRAY_BUFFER , this . colorBuffer ) ;
456- gl . bufferData ( gl . ARRAY_BUFFER , this . colorArray , gl . STATIC_DRAW ) ;
457-
458- // bind and upload the index
459- gl . bindBuffer ( gl . ELEMENT_ARRAY_BUFFER , this . indexBuffer ) ;
460- gl . bufferData ( gl . ELEMENT_ARRAY_BUFFER , new Uint16Array ( [ 0 , 1 , 2 , 1 , 3 , 2 ] ) , gl . STATIC_DRAW ) ;
461-
462- } ,
463-
464453 /**
465454 * Destroys the filter and removes it from the filter stack.
466455 *
0 commit comments