void MESHsetup() { #ifdef _DEBUG std::cout << "Setup meshes" << std::endl; #endif VertexFormat *fmt; { VertexFormat tmp; tmp.addAttribute(VertexAttribute(VAS_POSITION, VAT_FLOAT, 3)); tmp.addAttribute(VertexAttribute(VAS_NORMAL, VAT_FLOAT, 3)); tmp.addAttribute(VertexAttribute(VAS_TEXCOORD, VAT_FLOAT, 2)); cout << tmp.toString() << endl; cout << "Size in bytes: " << (unsigned long)(tmp.getBytesSize()) << endl; fmt = VertexFormat::Register(tmp); } //BufferObject::Usage usage = //BufferObject::Usage(BufferObject::BOU_STATIC|BufferObject::BOU_DRAW); BufferObject *vbo = NULL; CubeMesh = new SubMesh(); //if (CubeMesh->createIndexed(usage, fmt, 24, 36)) { //nvert, nindex if (CubeMesh->createIndexed(SubMesh::PT_TRI, fmt, 24, SubMesh::IT_8, 36)) { //nvert, nindex vbo = CubeMesh->getVertexBuffer(); vbo->bind(); //vbo->upload(0, sizeof(CubeVertexData), CubeVertexData); vbo->upload(sizeof(CubeVertexData), CubeVertexData, BufferObject::BOU_STATIC); vbo = CubeMesh->getIndexBuffer(); vbo->bind(); //vbo->upload(0, sizeof(CubeFaceData), CubeFaceData); vbo->upload(sizeof(CubeFaceData), CubeFaceData, BufferObject::BOU_STATIC); } PlaneMesh = new SubMesh(); //if (PlaneMesh->createIndexed(usage, fmt, 4, 6)) { // nvert, nindex if (PlaneMesh->createIndexed(SubMesh::PT_TRI, fmt, 4, SubMesh::IT_8, 6)) { // nvert, nindex vbo = PlaneMesh->getVertexBuffer(); vbo->bind(); //vbo->upload(0, sizeof(PlaneVertexData), PlaneVertexData); vbo->upload(sizeof(PlaneVertexData), PlaneVertexData, BufferObject::BOU_STATIC); vbo = PlaneMesh->getIndexBuffer(); vbo->bind(); //vbo->upload(0, sizeof(PlaneFaceData), PlaneFaceData); vbo->upload(sizeof(PlaneFaceData), PlaneFaceData, BufferObject::BOU_STATIC); } /* std::string fmtStr = "P-3-N-3-T0-2"; VertexFormat *fmt = VertexFormat::Get(fmtStr); BufferObject::Usage usage = BufferObject::Usage(BufferObject::BOU_STATIC|BufferObject::BOU_DRAW); BufferObject *vbo = NULL; CubeMesh = new SubMesh(); if (CubeMesh->createIndexed(usage, fmt, 24, 36)) { //nvert, nindex vbo = CubeMesh->vertexBuffer(); vbo->bind(); vbo->upload(0, sizeof(CubeVertexData), CubeVertexData); vbo = CubeMesh->indexBuffer(); vbo->bind(); vbo->upload(0, sizeof(CubeFaceData), CubeFaceData); } PlaneMesh = new SubMesh(); if (PlaneMesh->createIndexed(usage, fmt, 4, 6)) { // nvert, nindex vbo = PlaneMesh->vertexBuffer(); vbo->bind(); vbo->upload(0, sizeof(PlaneVertexData), PlaneVertexData); vbo = PlaneMesh->indexBuffer(); vbo->bind(); vbo->upload(0, sizeof(PlaneFaceData), PlaneFaceData); } */ }