#include "Mesh.hpp" #include // StandardCpuMesh::StandardCpuMesh() // : mGpuMesh(new GpuMesh()) { // mGpuMesh->vertFormat = gVformatStandard; // mGpuMesh->vertBufBindings.SetBinding(0, new GpuVertexBuffer()); // mGpuMesh->vertBufBindings.SetBinding(1, new GpuVertexBuffer()); // mGpuMesh->indexBuf.Attach(new GpuIndexBuffer()); // } // StandardCpuMesh::~StandardCpuMesh() { // delete mData; // } // void StandardCpuMesh::CreateCpuData() { // if (!mData) { // mData = new StandardCpuMeshData(); // } // } // GpuVertexBuffer* StandardCpuMesh::GetPosBuffer() const { // return mGpuMesh->vertBufBindings.bindings[0].Get(); // } // GpuVertexBuffer* StandardCpuMesh::GetExtraBuffer() const { // return mGpuMesh->vertBufBindings.bindings[1].Get(); // } // bool StandardCpuMesh::UpdatePositions(glm::vec3* pos, size_t count, size_t startVertIndex) { // if (mData) { // std::memcpy(&mData->vertPositions[startVertIndex], pos, count * sizeof(glm::vec3)); // } // auto posBuf = GetPosBuffer(); // glBindBuffer(GL_ARRAY_BUFFER, posBuf->handle); // glBufferSubData(GL_ARRAY_BUFFER, startVertIndex * mGpuMesh->vertFormat->vertexSize, count * sizeof(glm::vec3), pos); // return true; // } // bool StandardCpuMesh::UpdateColors(RgbaColor* color, size_t count, size_t starVertIndex) { // if (!mData) return false; // // TODO // } // bool StandardCpuMesh::UpdateNormals(glm::vec2* normals, size_t count, size_t startVertIndex) { // if (!mData) return false; // // TODO // } // bool StandardCpuMesh::UpdateIndices(uint32_t* indices, size_t count, size_t startVertIndex) { // if (!mData) return false; // // TODO // }