77var Identity = require ( '../../renderer/webgl/mvp/Identity' ) ;
88var Scale = require ( '../../renderer/webgl/mvp/Scale' ) ;
99var Translate = require ( '../../renderer/webgl/mvp/Translate' ) ;
10- var ViewIdentity = require ( '../../renderer/webgl/mvp/ViewIdentity' ) ;
1110var ViewLoad2D = require ( '../../renderer/webgl/mvp/ViewLoad2D' ) ;
1211
1312/**
@@ -32,17 +31,23 @@ var StaticTilemapLayerWebGLRenderer = function (renderer, src, interpolationPerc
3231 var gl = renderer . gl ;
3332 var pipeline = src . pipeline ;
3433
34+ renderer . flush ( ) ;
35+
3536 // Restore when we're done
3637 var pipelineVertexBuffer = pipeline . vertexBuffer ;
3738
38- Identity ( pipeline ) ;
39- Translate ( pipeline , src . x - ( camera . scrollX * src . scrollFactorX ) , src . y - ( camera . scrollY * src . scrollFactorY ) , 0 ) ;
40- Scale ( pipeline , src . scaleX , src . scaleY , 1 ) ;
41- ViewLoad2D ( pipeline , camera . matrix . matrix ) ;
39+ Identity ( src ) ;
40+ Translate ( src , src . x - ( camera . scrollX * src . scrollFactorX ) , src . y - ( camera . scrollY * src . scrollFactorY ) , 0 ) ;
41+ Scale ( src , src . scaleX , src . scaleY , 1 ) ;
42+ ViewLoad2D ( src , camera . matrix . matrix ) ;
4243
43- // This calls mvpUpdate during pipeline.bind, so make sure we call it _after_ setting the MVP stuff above
4444 renderer . setPipeline ( pipeline ) ;
4545
46+ // The above alters the uniforms, so make sure we call it _after_ setting the MVP stuff above
47+ renderer . setMatrix4 ( pipeline . program , 'uModelMatrix' , false , src . modelMatrix ) ;
48+ renderer . setMatrix4 ( pipeline . program , 'uViewMatrix' , false , src . viewMatrix ) ;
49+ renderer . setMatrix4 ( pipeline . program , 'uProjectionMatrix' , false , pipeline . projectionMatrix ) ;
50+
4651 for ( var i = 0 ; i < src . tileset . length ; i ++ )
4752 {
4853 var tileset = src . tileset [ i ] ;
@@ -66,11 +71,19 @@ var StaticTilemapLayerWebGLRenderer = function (renderer, src, interpolationPerc
6671 }
6772 }
6873
69- // Restore the pipeline
74+ renderer . resetTextures ( ) ;
75+
76+ // Restore the pipeline buffer
7077 pipeline . vertexBuffer = pipelineVertexBuffer ;
7178
72- ViewIdentity ( pipeline ) ;
73- Identity ( pipeline ) ;
79+ renderer . currentVertexBuffer = pipelineVertexBuffer ;
80+
81+ pipeline . setAttribPointers ( ) ;
82+
83+ // Reset the uniforms
84+ renderer . setMatrix4 ( pipeline . program , 'uModelMatrix' , false , pipeline . modelMatrix ) ;
85+ renderer . setMatrix4 ( pipeline . program , 'uViewMatrix' , false , pipeline . viewMatrix ) ;
86+ renderer . setMatrix4 ( pipeline . program , 'uProjectionMatrix' , false , pipeline . projectionMatrix ) ;
7487} ;
7588
7689module . exports = StaticTilemapLayerWebGLRenderer ;
0 commit comments