@@ -19,11 +19,15 @@ class Mesh : public ::Mesh {
1919 set (mesh);
2020 }
2121
22- Mesh (int VertexCount = 0 , int TriangleCount = 0 ) {
22+ Mesh (int VertexCount, int TriangleCount) {
2323 vertexCount = VertexCount;
2424 triangleCount = TriangleCount;
2525 }
2626
27+ Mesh (int vertexCount) {
28+ set (GenMeshDefault (vertexCount));
29+ }
30+
2731 /* *
2832 * Load meshes from model file
2933 */
@@ -33,6 +37,13 @@ class Mesh : public ::Mesh {
3337 // return std::vector<Mesh>(meshes, meshes + count);
3438 // }
3539
40+ /* *
41+ * Generate default mesh
42+ */
43+ static ::Mesh Default (int vertexCount) {
44+ return ::GenMeshDefault (vertexCount);
45+ }
46+
3647 /* *
3748 * Generate polygonal mesh
3849 */
@@ -135,6 +146,21 @@ class Mesh : public ::Mesh {
135146 ::UploadMesh (this , dynamic);
136147 }
137148
149+ /* *
150+ * Upload mesh vertex data to GPU (VRAM)
151+ */
152+ inline void UpdateBuffer (int index, void *data, int dataSize, int offset = 0 ) {
153+ ::UpdateMeshBuffer (*this , index, data, dataSize, offsetof);
154+ }
155+
156+ inline void Draw (const ::Material& material, const ::Matrix& transform) {
157+ ::DrawMesh (*this , material, transform);
158+ }
159+
160+ inline void DrawInstanced (const ::Material& material, ::Matrix* transforms, int instances) {
161+ ::DrawMeshInstanced (*this , material, transforms, instances);
162+ }
163+
138164 /* *
139165 * Export mesh data to file
140166 */
0 commit comments