SubMesh *addSubMesh(GLenum mode, size_t first, size_t count) { SubMesh *res = addSubMesh(); res->setMode(mode); res->setFirstIndex(first); res->setIndexCount(count); return res; }
bool Mesh::load(const std::string& fname) { std::ifstream fi(fname.c_str()); assert(fi); int subCnt = 0; { StreamBlockReader r("MeshDescription", fi); if (!r.read("subCount", &subCnt)) assert(0); } while (subCnt-- > 0) { SubMesh *sub = new SubMesh(); fi >> *sub; sub->genVertexNormals(); sub->genTriangleNormals(); addSubMesh(sub); } m_fname = fname; return !!fi; }