@@ -47,7 +47,7 @@ class MeshRenderBuffers : public vcl::MeshRenderData<MeshType>
47
47
IndexBuffer mTriangleNormalBuffer ;
48
48
IndexBuffer mTriangleColorBuffer ;
49
49
50
- bgfx::IndexBufferHandle mTriangleTextureIndexBH = BGFX_INVALID_HANDLE ;
50
+ IndexBuffer mTriangleTextureIndexBuffer ;
51
51
52
52
bgfx::IndexBufferHandle mEdgeIndexBH = BGFX_INVALID_HANDLE;
53
53
bgfx::IndexBufferHandle mEdgeNormalBH = BGFX_INVALID_HANDLE;
@@ -94,7 +94,7 @@ class MeshRenderBuffers : public vcl::MeshRenderData<MeshType>
94
94
swap (mTriangleIndexBuffer , other.mTriangleIndexBuffer );
95
95
swap (mTriangleNormalBuffer , other.mTriangleNormalBuffer );
96
96
swap (mTriangleColorBuffer , other.mTriangleColorBuffer );
97
- swap (mTriangleTextureIndexBH , other.mTriangleTextureIndexBH );
97
+ swap (mTriangleTextureIndexBuffer , other.mTriangleTextureIndexBuffer );
98
98
swap (mEdgeIndexBH , other.mEdgeIndexBH );
99
99
swap (mEdgeNormalBH , other.mEdgeNormalBH );
100
100
swap (mEdgeColorBH , other.mEdgeColorBH );
@@ -138,12 +138,8 @@ class MeshRenderBuffers : public vcl::MeshRenderData<MeshType>
138
138
mTriangleColorBuffer .bind (
139
139
VCL_MRB_PRIMITIVE_COLOR_BUFFER);
140
140
141
- if (bgfx::isValid (mTriangleTextureIndexBH )) { // tri texture indices
142
- bgfx::setBuffer (
143
- VCL_MRB_TRIANGLE_TEXTURE_ID_BUFFER,
144
- mTriangleTextureIndexBH ,
145
- bgfx::Access::Read);
146
- }
141
+ mTriangleTextureIndexBuffer .bind (
142
+ VCL_MRB_TRIANGLE_TEXTURE_ID_BUFFER);
147
143
}
148
144
else if (indexBufferToBind == Base::EDGES) {
149
145
bgfx::setIndexBuffer (mEdgeIndexBH );
@@ -254,11 +250,10 @@ class MeshRenderBuffers : public vcl::MeshRenderData<MeshType>
254
250
if (Base::wedgeTexCoordsBufferData ()) {
255
251
assert (Base::wedgeTextureIDsBufferData ());
256
252
257
- mTriangleTextureIndexBH = bgfx::createIndexBuffer (
258
- bgfx::makeRef (
259
- Base::wedgeTextureIDsBufferData (),
260
- Base::triangleNumber () * sizeof (uint32_t )),
261
- BGFX_BUFFER_INDEX32 | BGFX_BUFFER_COMPUTE_READ);
253
+ mTriangleTextureIndexBuffer .setForCompute (
254
+ Base::wedgeTextureIDsBufferData (),
255
+ Base::triangleNumber (),
256
+ PrimitiveType::UINT);
262
257
}
263
258
264
259
// edge index buffer
@@ -328,9 +323,6 @@ class MeshRenderBuffers : public vcl::MeshRenderData<MeshType>
328
323
329
324
void destroyBGFXBuffers ()
330
325
{
331
- if (bgfx::isValid (mTriangleTextureIndexBH ))
332
- bgfx::destroy (mTriangleTextureIndexBH );
333
-
334
326
if (bgfx::isValid (mEdgeIndexBH ))
335
327
bgfx::destroy (mEdgeIndexBH );
336
328
0 commit comments