19 : m_use32bitIndices(use32bitIndices),
20 m_use4componentVertices(use4componentVertices),
21 m_weldingThreshold(0.0)
24 meshIndex.m_numTriangles = 0;
25 meshIndex.m_numVertices = 0;
27 meshIndex.m_triangleIndexBase = 0;
28 meshIndex.m_triangleIndexStride = 3 *
sizeof(
int);
29 meshIndex.m_vertexBase = 0;
30 meshIndex.m_vertexStride =
sizeof(
btVector3);
31 m_indexedMeshes.push_back(meshIndex);
33 if (m_use32bitIndices)
35 m_indexedMeshes[0].m_numTriangles = m_32bitIndices.
size() / 3;
36 m_indexedMeshes[0].m_triangleIndexBase = 0;
38 m_indexedMeshes[0].m_triangleIndexStride = 3 *
sizeof(
int);
42 m_indexedMeshes[0].m_numTriangles = m_16bitIndices.
size() / 3;
43 m_indexedMeshes[0].m_triangleIndexBase = 0;
44 m_indexedMeshes[0].m_indexType =
PHY_SHORT;
45 m_indexedMeshes[0].m_triangleIndexStride = 3 *
sizeof(
short int);
48 if (m_use4componentVertices)
50 m_indexedMeshes[0].m_numVertices = m_4componentVertices.
size();
51 m_indexedMeshes[0].m_vertexBase = 0;
52 m_indexedMeshes[0].m_vertexStride =
sizeof(
btVector3);
56 m_indexedMeshes[0].m_numVertices = m_3componentVertices.
size() / 3;
57 m_indexedMeshes[0].m_vertexBase = 0;
58 m_indexedMeshes[0].m_vertexStride = 3 *
sizeof(
btScalar);
88 if (m_use4componentVertices)
90 if (removeDuplicateVertices)
92 for (
int i = 0; i < m_4componentVertices.
size(); i++)
100 m_indexedMeshes[0].m_numVertices++;
102 m_indexedMeshes[0].m_vertexBase = (
unsigned char*)&m_4componentVertices[0];
104 return m_4componentVertices.
size() - 1;
108 if (removeDuplicateVertices)
110 for (
int i = 0; i < m_3componentVertices.
size(); i += 3)
112 btVector3 vtx(m_3componentVertices[i], m_3componentVertices[i + 1], m_3componentVertices[i + 2]);
119 m_3componentVertices.
push_back(vertex.getX());
120 m_3componentVertices.
push_back(vertex.getY());
121 m_3componentVertices.
push_back(vertex.getZ());
122 m_indexedMeshes[0].m_numVertices++;
123 m_indexedMeshes[0].m_vertexBase = (
unsigned char*)&m_3componentVertices[0];
124 return (m_3componentVertices.
size() / 3) - 1;
void addTriangleIndices(int index1, int index2, int index3)
Add a triangle using its indices. Make sure the indices are pointing within the vertices array,...
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int