@@ -112,86 +112,6 @@ SpriteBatch.prototype = {
112112 return ( this . vertexDataBuffer . getByteLength ( ) >= this . vertexDataBuffer . getByteCapacity ( ) ) ;
113113 } ,
114114
115- add : function ( frame , anchorX , anchorY , transform2D , vertexColor , camera )
116- {
117- this . manager . setBatch ( this , frame . texture . source [ frame . sourceIndex ] . glTexture ) ;
118-
119- // The user must check if the buffers are full before flushing
120- // this is to give freedom of when should the renderer flush. var vertexDataBuffer = this.vertexDataBuffer;
121- var vertexDataBuffer = this . vertexDataBuffer ;
122- var vertexBufferF32 = vertexDataBuffer . floatView ;
123- var vertexBufferU32 = vertexDataBuffer . uintView ;
124- var vertexOffset = vertexDataBuffer . allocate ( CONST . SPRITE_VERTEX_COMPONENT_COUNT * CONST . SPRITE_VERTEX_COUNT ) ;
125- var uvs = frame . uvs ;
126- var width = frame . width ;
127- var height = frame . height ;
128- var translateX = transform2D . x - camera . scrollX ;
129- var translateY = transform2D . y - camera . scrollY ;
130- var scaleX = transform2D . scaleX ;
131- var scaleY = transform2D . scaleY ;
132- var rotation = transform2D . angle ;
133- var a = cameraMatrix [ 0 ] ;
134- var b = cameraMatrix [ 1 ] ;
135- var c = cameraMatrix [ 2 ] ;
136- var d = cameraMatrix [ 3 ] ;
137- var e = cameraMatrix [ 4 ] ;
138- var f = cameraMatrix [ 5 ] ;
139- var x = width * - anchorX + frame . x ;
140- var y = height * - anchorY + frame . y ;
141- var xw = x + width ;
142- var yh = y + height ;
143- var tx = x * a + y * c + e ;
144- var ty = x * b + y * d + f ;
145- var txw = xw * a + yh * c + e ;
146- var tyh = xw * b + yh * d + f ;
147-
148- vertexBufferF32 [ vertexOffset ++ ] = tx ;
149- vertexBufferF32 [ vertexOffset ++ ] = ty ;
150- vertexBufferF32 [ vertexOffset ++ ] = uvs . x0 ;
151- vertexBufferF32 [ vertexOffset ++ ] = uvs . y0 ;
152- vertexBufferF32 [ vertexOffset ++ ] = translateX ;
153- vertexBufferF32 [ vertexOffset ++ ] = translateY ;
154- vertexBufferF32 [ vertexOffset ++ ] = scaleX ;
155- vertexBufferF32 [ vertexOffset ++ ] = scaleY ;
156- vertexBufferF32 [ vertexOffset ++ ] = rotation ;
157- vertexBufferU32 [ vertexOffset ++ ] = vertexColor . topLeft ;
158-
159- vertexBufferF32 [ vertexOffset ++ ] = tx ;
160- vertexBufferF32 [ vertexOffset ++ ] = tyh ;
161- vertexBufferF32 [ vertexOffset ++ ] = uvs . x1 ;
162- vertexBufferF32 [ vertexOffset ++ ] = uvs . y1 ;
163- vertexBufferF32 [ vertexOffset ++ ] = translateX ;
164- vertexBufferF32 [ vertexOffset ++ ] = translateY ;
165- vertexBufferF32 [ vertexOffset ++ ] = scaleX ;
166- vertexBufferF32 [ vertexOffset ++ ] = scaleY ;
167- vertexBufferF32 [ vertexOffset ++ ] = rotation ;
168- vertexBufferU32 [ vertexOffset ++ ] = vertexColor . bottomLeft ;
169-
170- vertexBufferF32 [ vertexOffset ++ ] = txw ;
171- vertexBufferF32 [ vertexOffset ++ ] = tyh ;
172- vertexBufferF32 [ vertexOffset ++ ] = uvs . x2 ;
173- vertexBufferF32 [ vertexOffset ++ ] = uvs . y2 ;
174- vertexBufferF32 [ vertexOffset ++ ] = translateX ;
175- vertexBufferF32 [ vertexOffset ++ ] = translateY ;
176- vertexBufferF32 [ vertexOffset ++ ] = scaleX ;
177- vertexBufferF32 [ vertexOffset ++ ] = scaleY ;
178- vertexBufferF32 [ vertexOffset ++ ] = rotation ;
179- vertexBufferU32 [ vertexOffset ++ ] = vertexColor . bottomRight ;
180-
181- vertexBufferF32 [ vertexOffset ++ ] = txw ;
182- vertexBufferF32 [ vertexOffset ++ ] = ty ;
183- vertexBufferF32 [ vertexOffset ++ ] = uvs . x3 ;
184- vertexBufferF32 [ vertexOffset ++ ] = uvs . y3 ;
185- vertexBufferF32 [ vertexOffset ++ ] = translateX ;
186- vertexBufferF32 [ vertexOffset ++ ] = translateY ;
187- vertexBufferF32 [ vertexOffset ++ ] = scaleX ;
188- vertexBufferF32 [ vertexOffset ++ ] = scaleY ;
189- vertexBufferF32 [ vertexOffset ++ ] = rotation ;
190- vertexBufferU32 [ vertexOffset ++ ] = vertexColor . topRight ;
191-
192- this . elementCount += CONST . SPRITE_INDEX_COUNT ;
193- } ,
194-
195115 bind : function ( )
196116 {
197117 var gl = this . glContext ;
@@ -213,6 +133,11 @@ SpriteBatch.prototype = {
213133
214134 flush : function ( )
215135 {
136+ if ( this . elementCount === 0 )
137+ {
138+ return ;
139+ }
140+
216141 var gl = this . glContext ;
217142 var vertexDataBuffer = this . vertexDataBuffer ;
218143
0 commit comments