@@ -15,12 +15,13 @@ var DynamicBitmapTextWebGLRenderer = function (renderer, gameObject, interpolati
1515 var cameraScrollY = camera . scrollY * gameObject . scrollFactorY ;
1616 var text = gameObject . text ;
1717 var textLength = text . length ;
18- var chars = gameObject . fontData . chars ;
18+ var chars = gameObject . fontData . data . chars ;
1919 var lineHeight = gameObject . fontData . lineHeight ;
20- var blitterBatch = renderer . blitterBatch ;
20+ var spriteBatch = renderer . spriteBatch ;
2121 var alpha = gameObject . alpha ;
22- var vertexDataBuffer = blitterBatch . vertexDataBuffer ;
22+ var vertexDataBuffer = spriteBatch . vertexDataBuffer ;
2323 var vertexBuffer = vertexDataBuffer . floatView ;
24+ var vertexBufferU32 = vertexDataBuffer . uintView ;
2425 var vertexOffset = 0 ;
2526 var textureData = gameObject . texture . source [ textureFrame . sourceIndex ] ;
2627 var textureX = textureFrame . cutX ;
@@ -37,6 +38,7 @@ var DynamicBitmapTextWebGLRenderer = function (renderer, gameObject, interpolati
3738 var glyphY = 0 ;
3839 var glyphW = 0 ;
3940 var glyphH = 0 ;
41+ var vertexColor = 0xFFFFFFFF ;
4042 var x = 0 ;
4143 var y = 0 ;
4244 var rotation = 0 ;
@@ -52,7 +54,7 @@ var DynamicBitmapTextWebGLRenderer = function (renderer, gameObject, interpolati
5254 var cameraMatrix = camera . matrix . matrix ;
5355 var mva , mvb , mvc , mvd , mve , mvf , tx0 , ty0 , tx1 , ty1 , tx2 , ty2 , tx3 , ty3 ;
5456 var sra , srb , src , srd , sre , srf , cma , cmb , cmc , cmd , cme , cmf ;
55- var scale = ( gameObject . fontSize / gameObject . fontData . size ) ;
57+ var scale = ( gameObject . fontSize / gameObject . fontData . data . size ) ;
5658 var uta , utb , utc , utd , ute , utf ;
5759 var tempMatrixCharMatrix = tempMatrixChar . matrix ;
5860 var renderTarget = gameObject . renderTarget ;
@@ -140,12 +142,13 @@ var DynamicBitmapTextWebGLRenderer = function (renderer, gameObject, interpolati
140142
141143 if ( displayCallback )
142144 {
143- var output = displayCallback ( { index : index , charCode : charCode , x : x , y : y , scale : scale , rotation : 0 , data : glyph . data } ) ;
145+ var output = displayCallback ( { color : 0xFFFFFF , index : index , charCode : charCode , x : x , y : y , scale : scale , rotation : 0 , data : glyph . data } ) ;
144146
145147 x = output . x ;
146148 y = output . y ;
147149 scale = output . scale ;
148150 rotation = output . rotation ;
151+ vertexColor = output . color ;
149152 }
150153
151154 x -= gameObject . scrollX | 0 ;
@@ -186,37 +189,41 @@ var DynamicBitmapTextWebGLRenderer = function (renderer, gameObject, interpolati
186189 vmin = glyphY / textureHeight ;
187190 vmax = ( glyphY + glyphH ) / textureHeight ;
188191
189- if ( blitterBatch . elementCount >= blitterBatch . maxParticles )
192+ if ( spriteBatch . elementCount >= spriteBatch . maxParticles )
190193 {
191- blitterBatch . flush ( ) ;
194+ spriteBatch . flush ( ) ;
192195 }
193196
194- renderer . setRenderer ( blitterBatch , texture , renderTarget ) ;
195- vertexOffset = vertexDataBuffer . allocate ( 20 ) ;
196- blitterBatch . elementCount += 6 ;
197+ renderer . setRenderer ( spriteBatch , texture , renderTarget ) ;
198+ vertexOffset = vertexDataBuffer . allocate ( 24 ) ;
199+ spriteBatch . elementCount += 6 ;
197200
198201 vertexBuffer [ vertexOffset ++ ] = tx0 ;
199202 vertexBuffer [ vertexOffset ++ ] = ty0 ;
200203 vertexBuffer [ vertexOffset ++ ] = umin ;
201204 vertexBuffer [ vertexOffset ++ ] = vmin ;
205+ vertexBufferU32 [ vertexOffset ++ ] = vertexColor ;
202206 vertexBuffer [ vertexOffset ++ ] = alpha ;
203207
204208 vertexBuffer [ vertexOffset ++ ] = tx1 ;
205209 vertexBuffer [ vertexOffset ++ ] = ty1 ;
206210 vertexBuffer [ vertexOffset ++ ] = umin ;
207211 vertexBuffer [ vertexOffset ++ ] = vmax ;
212+ vertexBufferU32 [ vertexOffset ++ ] = vertexColor ;
208213 vertexBuffer [ vertexOffset ++ ] = alpha ;
209214
210215 vertexBuffer [ vertexOffset ++ ] = tx2 ;
211216 vertexBuffer [ vertexOffset ++ ] = ty2 ;
212217 vertexBuffer [ vertexOffset ++ ] = umax ;
213218 vertexBuffer [ vertexOffset ++ ] = vmax ;
219+ vertexBufferU32 [ vertexOffset ++ ] = vertexColor ;
214220 vertexBuffer [ vertexOffset ++ ] = alpha ;
215221
216222 vertexBuffer [ vertexOffset ++ ] = tx3 ;
217223 vertexBuffer [ vertexOffset ++ ] = ty3 ;
218224 vertexBuffer [ vertexOffset ++ ] = umax ;
219225 vertexBuffer [ vertexOffset ++ ] = vmin ;
226+ vertexBufferU32 [ vertexOffset ++ ] = vertexColor ;
220227 vertexBuffer [ vertexOffset ++ ] = alpha ;
221228
222229 xAdvance += glyph . xAdvance ;
@@ -227,7 +234,7 @@ var DynamicBitmapTextWebGLRenderer = function (renderer, gameObject, interpolati
227234
228235 if ( gameObject . width > 0 && gameObject . height > 0 )
229236 {
230- blitterBatch . flush ( ) ;
237+ spriteBatch . flush ( ) ;
231238
232239 if ( renderer . scissor . enabled )
233240 {
0 commit comments