#pragma once #include #include #include #include #include #include #include #include #include namespace thermion_filament { using namespace filament; // CustomGeometry.h class CustomGeometry { public: CustomGeometry(float* vertices, uint32_t numVertices, uint16_t* indices, uint32_t numIndices, RenderableManager::PrimitiveType primitiveType, Engine* engine); ~CustomGeometry(); void computeBoundingBox(); VertexBuffer* vertexBuffer(); IndexBuffer* indexBuffer(); Box getBoundingBox() const; float* vertices; uint32_t numVertices; uint16_t* indices; uint32_t numIndices; Box boundingBox; RenderableManager::PrimitiveType primitiveType; private: Engine* _engine; bool _vertexBufferFreed = false; bool _indexBufferFreed = false; }; }