@@ -361,11 +361,13 @@ void ProgressTimer::updateRadial(void)
361361 {
362362 sameIndexCount = false ;
363363 _vertexData.resize (index + 3 );
364+ _customCommand.createVertexBuffer (sizeof (_vertexData[0 ]), _vertexData.size ());
364365 }
365366
366367 if (_indexData.size () != 3 + 3 * index)
367368 {
368369 _indexData.resize (3 + 3 * index);
370+ _customCommand.createIndexBuffer (sizeof (_indexData[0 ]), _indexData.size ());
369371 }
370372
371373 // updateColor();
@@ -394,15 +396,13 @@ void ProgressTimer::updateRadial(void)
394396 _indexData[i * 3 + 2 ] = i + 1 ;
395397 }
396398
397- _customCommand.createIndexBuffer (sizeof (_indexData[0 ]), _indexData.size ());
398399 _customCommand.updateIndexBuffer (_indexData.data (), _indexData.size () * sizeof (_indexData[0 ]));
399400 }
400401
401402 // hitpoint will go last
402403 _vertexData[_vertexData.size () - 1 ].texCoords = textureCoordFromAlphaPoint (hit);
403404 _vertexData[_vertexData.size () - 1 ].vertices = vertexFromAlphaPoint (hit);
404405
405- _customCommand.createVertexBuffer (sizeof (_vertexData[0 ]), _vertexData.size ());
406406
407407 updateColor ();
408408}
@@ -449,7 +449,11 @@ void ProgressTimer::updateBar(void)
449449
450450 if (!_reverseDirection) {
451451
452- _vertexData.resize (4 );
452+ if (_vertexData.size () != 4 )
453+ {
454+ _vertexData.resize (4 );
455+ _customCommand.createVertexBuffer (sizeof (_vertexData[0 ]), _vertexData.size ());
456+ }
453457
454458 // TOPLEFT
455459 _vertexData[0 ].texCoords = textureCoordFromAlphaPoint (Vec2 (min.x ,max.y ));
@@ -467,8 +471,9 @@ void ProgressTimer::updateBar(void)
467471 _vertexData[3 ].texCoords = textureCoordFromAlphaPoint (Vec2 (max.x ,min.y ));
468472 _vertexData[3 ].vertices = vertexFromAlphaPoint (Vec2 (max.x ,min.y ));
469473 } else {
470- if (_vertexData.empty () ) {
474+ if (_vertexData.size () != 8 ) {
471475 _vertexData.resize (8 );
476+ _customCommand.createVertexBuffer (sizeof (_vertexData[0 ]), _vertexData.size ());
472477 // TOPLEFT 1
473478 _vertexData[0 ].texCoords = textureCoordFromAlphaPoint (Vec2 (0 ,1 ));
474479 _vertexData[0 ].vertices = vertexFromAlphaPoint (Vec2 (0 ,1 ));
@@ -503,7 +508,6 @@ void ProgressTimer::updateBar(void)
503508 _vertexData[5 ].vertices = vertexFromAlphaPoint (Vec2 (max.x ,min.y ));
504509 }
505510
506- _customCommand.createVertexBuffer (sizeof (_vertexData[0 ]), _vertexData.size ());
507511 updateColor ();
508512}
509513
0 commit comments