@@ -46,66 +46,53 @@ var DynamicTilemapLayerWebGLRenderer = function (renderer, src, camera)
4646 var sx = src . scaleX ;
4747 var sy = src . scaleY ;
4848
49- var tilesets = src . tileset ;
50-
51- // Loop through each tileset in this layer, drawing just the tiles that are in that set each time
52- // Doing it this way around allows us to batch tiles using the same tileset
53- for ( var c = 0 ; c < tilesets . length ; c ++ )
49+ for ( var i = 0 ; i < tileCount ; i ++ )
5450 {
55- var currentSet = tilesets [ c ] ;
56- var texture = currentSet . glTexture ;
51+ var tile = renderTiles [ i ] ;
52+
53+ var tileset = gidMap [ tile . index ] ;
54+
55+ var texture = tileset . glTexture ;
56+
5757 var textureUnit = pipeline . setTexture2D ( texture , src ) ;
5858
59- for ( var i = 0 ; i < tileCount ; i ++ )
59+ var tileTexCoords = tileset . getTileTextureCoordinates ( tile . index ) ;
60+
61+ if ( tileTexCoords === null )
6062 {
61- var tile = renderTiles [ i ] ;
62-
63- var tileset = gidMap [ tile . index ] ;
64-
65- if ( tileset !== currentSet )
66- {
67- // Skip tiles that aren't in this set
68- continue ;
69- }
70-
71- var tileTexCoords = tileset . getTileTextureCoordinates ( tile . index ) ;
72-
73- if ( tileTexCoords === null )
74- {
75- continue ;
76- }
77-
78- var frameWidth = tileset . tileWidth ;
79- var frameHeight = tileset . tileHeight ;
80-
81- var frameX = tileTexCoords . x ;
82- var frameY = tileTexCoords . y ;
83-
84- var tw = tileset . tileWidth * 0.5 ;
85- var th = tileset . tileHeight * 0.5 ;
86-
87- var tint = getTint ( tile . tint , alpha * tile . alpha ) ;
88-
89- pipeline . batchTexture (
90- src ,
91- texture ,
92- texture . width , texture . height ,
93- x + ( ( tw + tile . pixelX ) * sx ) , y + ( ( th + tile . pixelY ) * sy ) ,
94- tile . width , tile . height ,
95- sx , sy ,
96- tile . rotation ,
97- tile . flipX , tile . flipY ,
98- scrollFactorX , scrollFactorY ,
99- tw , th ,
100- frameX , frameY , frameWidth , frameHeight ,
101- tint , tint , tint , tint , false ,
102- 0 , 0 ,
103- camera ,
104- null ,
105- true ,
106- textureUnit
107- ) ;
63+ continue ;
10864 }
65+
66+ var frameWidth = tileset . tileWidth ;
67+ var frameHeight = tileset . tileHeight ;
68+
69+ var frameX = tileTexCoords . x ;
70+ var frameY = tileTexCoords . y ;
71+
72+ var tw = tileset . tileWidth * 0.5 ;
73+ var th = tileset . tileHeight * 0.5 ;
74+
75+ var tint = getTint ( tile . tint , alpha * tile . alpha ) ;
76+
77+ pipeline . batchTexture (
78+ src ,
79+ texture ,
80+ texture . width , texture . height ,
81+ x + ( ( tw + tile . pixelX ) * sx ) , y + ( ( th + tile . pixelY ) * sy ) ,
82+ tile . width , tile . height ,
83+ sx , sy ,
84+ tile . rotation ,
85+ tile . flipX , tile . flipY ,
86+ scrollFactorX , scrollFactorY ,
87+ tw , th ,
88+ frameX , frameY , frameWidth , frameHeight ,
89+ tint , tint , tint , tint , false ,
90+ 0 , 0 ,
91+ camera ,
92+ null ,
93+ true ,
94+ textureUnit
95+ ) ;
10996 }
11097} ;
11198
0 commit comments