@@ -45,7 +45,7 @@ class MeshRenderBuffers : public vcl::MeshRenderData<MeshType>
45
45
46
46
IndexBuffer mTriangleIndexBuffer ;
47
47
IndexBuffer mTriangleNormalBuffer ;
48
- bgfx::IndexBufferHandle mTriangleColorBH = BGFX_INVALID_HANDLE ;
48
+ IndexBuffer mTriangleColorBuffer ;
49
49
50
50
bgfx::IndexBufferHandle mTriangleTextureIndexBH = BGFX_INVALID_HANDLE;
51
51
@@ -93,7 +93,7 @@ class MeshRenderBuffers : public vcl::MeshRenderData<MeshType>
93
93
swap (mVertexWedgeUVBuffer , other.mVertexWedgeUVBuffer );
94
94
swap (mTriangleIndexBuffer , other.mTriangleIndexBuffer );
95
95
swap (mTriangleNormalBuffer , other.mTriangleNormalBuffer );
96
- swap (mTriangleColorBH , other.mTriangleColorBH );
96
+ swap (mTriangleColorBuffer , other.mTriangleColorBuffer );
97
97
swap (mTriangleTextureIndexBH , other.mTriangleTextureIndexBH );
98
98
swap (mEdgeIndexBH , other.mEdgeIndexBH );
99
99
swap (mEdgeNormalBH , other.mEdgeNormalBH );
@@ -132,16 +132,12 @@ class MeshRenderBuffers : public vcl::MeshRenderData<MeshType>
132
132
if (indexBufferToBind == Base::TRIANGLES) {
133
133
mTriangleIndexBuffer .bind ();
134
134
135
- if (bgfx::isValid (mTriangleColorBH )) { // triangle colors
136
- bgfx::setBuffer (
137
- VCL_MRB_PRIMITIVE_COLOR_BUFFER,
138
- mTriangleColorBH ,
139
- bgfx::Access::Read);
140
- }
141
-
142
135
mTriangleNormalBuffer .bindForCompute (
143
136
VCL_MRB_PRIMITIVE_NORMAL_BUFFER);
144
137
138
+ mTriangleColorBuffer .bindForCompute (
139
+ VCL_MRB_PRIMITIVE_COLOR_BUFFER);
140
+
145
141
if (bgfx::isValid (mTriangleTextureIndexBH )) { // tri texture indices
146
142
bgfx::setBuffer (
147
143
VCL_MRB_TRIANGLE_TEXTURE_ID_BUFFER,
@@ -235,13 +231,10 @@ class MeshRenderBuffers : public vcl::MeshRenderData<MeshType>
235
231
PrimitiveType::FLOAT, BGFX_BUFFER_COMPUTE_READ);
236
232
237
233
// triangle color buffer
238
- if (Base::triangleColorBufferData ()) {
239
- mTriangleColorBH = bgfx::createIndexBuffer (
240
- bgfx::makeRef (
241
- Base::triangleColorBufferData (),
242
- Base::triangleNumber () * sizeof (uint32_t )),
243
- BGFX_BUFFER_INDEX32 | BGFX_BUFFER_COMPUTE_READ);
244
- }
234
+ mTriangleColorBuffer .set (
235
+ Base::triangleColorBufferData (),
236
+ Base::triangleNumber (),
237
+ PrimitiveType::UINT, BGFX_BUFFER_COMPUTE_READ);
245
238
246
239
// triangle wedge UV buffer
247
240
if (Base::wedgeTexCoordsBufferData ()) {
@@ -321,9 +314,6 @@ class MeshRenderBuffers : public vcl::MeshRenderData<MeshType>
321
314
322
315
void destroyBGFXBuffers ()
323
316
{
324
- if (bgfx::isValid (mTriangleColorBH ))
325
- bgfx::destroy (mTriangleColorBH );
326
-
327
317
if (bgfx::isValid (mTriangleTextureIndexBH ))
328
318
bgfx::destroy (mTriangleTextureIndexBH );
329
319
0 commit comments