X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fmesh.cpp;h=07e5e27f928f41911e3ca376850e3fd4ed081c62;hb=710363bade528b5015a7c472db3aa90eb08207ab;hp=029c16e0fac6b04d35f1847faf2590fafd320c1f;hpb=acaefb4c669f01855252818ef0a2958cbdababc3;p=libs%2Fgl.git diff --git a/source/core/mesh.cpp b/source/core/mesh.cpp index 029c16e0..07e5e27f 100644 --- a/source/core/mesh.cpp +++ b/source/core/mesh.cpp @@ -9,29 +9,11 @@ using namespace std; namespace Msp { namespace GL { -Mesh::Mesh(ResourceManager *rm) +Mesh::Mesh(const VertexFormat &f) { - init(rm); -} - -Mesh::Mesh(const VertexFormat &f, ResourceManager *rm) -{ - init(rm); storage(f); } -void Mesh::init(ResourceManager *rm) -{ - vbuf = 0; - ibuf = 0; - dirty = 0; - disallow_rendering = false; - face_winding = NON_MANIFOLD; - - if(rm) - set_manager(rm); -} - Mesh::~Mesh() { set_manager(0); @@ -97,12 +79,12 @@ void Mesh::check_buffers(unsigned mask) } } -unsigned Mesh::get_n_vertices() const +size_t Mesh::get_n_vertices() const { return vertices.size(); } -char *Mesh::modify_vertex(unsigned i) +char *Mesh::modify_vertex(size_t i) { if(vertices.get_format().empty()) throw invalid_operation("Mesh::modify_vertex"); @@ -303,10 +285,7 @@ void Mesh::Loader::batch(PrimitiveType p) Mesh::AsyncLoader::AsyncLoader(Mesh &m, IO::Seekable &i): mesh(m), - io(i), - vertex_updater(0), - index_updater(0), - phase(0) + io(i) { mesh.disallow_rendering = true; mesh.check_buffers(VERTEX_BUFFER|INDEX_BUFFER);