11 #include <condition_variable>
12 #include <unordered_map>
24 std::vector<MeshVertex> vertices,
25 std::vector<MeshLine> lines = {},
26 std::vector<MeshTriangle> triangles = {}
39 int getNrOfTriangles();
41 int getNrOfVertices();
48 void setAllDataToOutOfDate();
55 bool mVBODataIsUpToDate;
56 GLuint mCoordinateVBO = 0;
57 GLuint mNormalVBO = 0;
60 GLuint mTriangleEBO = 0;
70 bool mHostDataIsUpToDate;
71 std::vector<float> mCoordinates;
72 std::vector<float> mNormals;
73 std::vector<float> mColors;
74 std::vector<uint> mLines;
75 std::vector<uint> mTriangles;
78 std::unordered_map<OpenCLDevice::pointer, cl::Buffer*> mCoordinatesBuffers;
79 std::unordered_map<OpenCLDevice::pointer, cl::Buffer*> mLinesBuffers;
80 std::unordered_map<OpenCLDevice::pointer, cl::Buffer*> mTrianglesBuffers;
81 std::unordered_map<OpenCLDevice::pointer, bool> mCLBuffersIsUpToDate;