@@ -29,60 +29,46 @@ var ViewLoad2D = require('../../renderer/webgl/mvp/ViewLoad2D');
2929 */
3030var StaticTilemapLayerWebGLRenderer = function ( renderer , src , interpolationPercentage , camera )
3131{
32- var tilesets = src . tileset ;
33-
32+ var gl = renderer . gl ;
3433 var pipeline = src . pipeline ;
35- var pipelineVertexBuffer = pipeline . vertexBuffer ;
3634
37- renderer . setPipeline ( pipeline ) ;
35+ // Restore when we're done
36+ var pipelineVertexBuffer = pipeline . vertexBuffer ;
3837
3938 Identity ( pipeline ) ;
4039 Translate ( pipeline , src . x - ( camera . scrollX * src . scrollFactorX ) , src . y - ( camera . scrollY * src . scrollFactorY ) , 0 ) ;
4140 Scale ( pipeline , src . scaleX , src . scaleY , 1 ) ;
4241 ViewLoad2D ( pipeline , camera . matrix . matrix ) ;
4342
44- renderer . clearTextureZero ( ) ;
45- renderer . clearNormalMap ( ) ;
43+ // This calls mvpUpdate during pipeline.bind, so make sure we call it _after_ setting the MVP stuff above
44+ renderer . setPipeline ( pipeline ) ;
4645
47- for ( var i = 0 ; i < tilesets . length ; i ++ )
46+ for ( var i = 0 ; i < src . tileset . length ; i ++ )
4847 {
48+ var tileset = src . tileset [ i ] ;
49+ var vertexCount = src . vertexCount [ i ] ;
50+
4951 src . upload ( camera , i ) ;
5052
51- if ( src . vertexCount [ i ] > 0 )
53+ if ( vertexCount > 0 )
5254 {
53- renderer . flush ( ) ;
54-
55- pipeline . vertexBuffer = src . vertexBuffer [ i ] ;
56-
57- renderer . setTextureZero ( tilesets [ i ] . glTexture ) ;
58-
59- var normalTexture = null ;
60-
61- if ( Array . isArray ( tilesets ) )
55+ if ( pipeline . forceZero )
6256 {
63- normalTexture = tilesets [ 0 ] . image . dataSource [ 0 ] ;
57+ // Light Pipeline, or similar
58+ pipeline . setGameObject ( src , tileset ) ;
6459 }
6560 else
6661 {
67- normalTexture = tilesets . image . dataSource [ 0 ] ;
62+ renderer . setTextureZero ( tileset . glTexture ) ;
6863 }
6964
70- if ( normalTexture )
71- {
72- // renderer.setNormalMap(pipeline.defaultNormalMap.glTexture);
73- // renderer.setNormalMap(normalTexture.glTexture);
74- }
75-
76- renderer . gl . drawArrays ( pipeline . topology , 0 , src . vertexCount [ i ] ) ;
65+ gl . drawArrays ( gl . TRIANGLES , 0 , vertexCount ) ;
7766 }
7867 }
7968
8069 // Restore the pipeline
8170 pipeline . vertexBuffer = pipelineVertexBuffer ;
8271
83- renderer . clearTextureZero ( ) ;
84- renderer . clearNormalMap ( ) ;
85-
8672 ViewIdentity ( pipeline ) ;
8773 Identity ( pipeline ) ;
8874} ;
0 commit comments