X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fvertexarray.cpp;h=a4dffbb7bae4876af7c9535a1f965e8431b64f7b;hp=e3aef7a0eea16cd38302d068535edaa255c56028;hb=HEAD;hpb=22f0f95981f17524587f5f2c5e3e91005240ddb7 diff --git a/source/vertexarray.cpp b/source/vertexarray.cpp deleted file mode 100644 index e3aef7a0..00000000 --- a/source/vertexarray.cpp +++ /dev/null @@ -1,103 +0,0 @@ -#include -#include -#include "buffer.h" -#include "error.h" -#include "gl.h" -#include "mesh.h" -#include "vertexarray.h" - -using namespace std; - -namespace Msp { -namespace GL { - -VertexArray::VertexArray(const VertexFormat &f) -{ - reset(f); -} - -void VertexArray::reset(const VertexFormat &f) -{ - clear(); - format = f; - stride = get_stride(format); -} - -void VertexArray::clear() -{ - data.clear(); -} - -void VertexArray::reserve(unsigned n) -{ - data.reserve(n*stride); -} - -float *VertexArray::append() -{ - data.insert(data.end(), stride, 0.0f); - update_offset(); - dirty = true; - return &*(data.end()-stride); -} - -float *VertexArray::modify(unsigned i) -{ - dirty = true; - return &data[0]+i*stride; -} - -unsigned VertexArray::get_data_size() const -{ - return data.size()*sizeof(float); -} - - -VertexArray::Loader::Loader(VertexArray &a): - VertexArrayBuilder(a) -{ - add("vertex", static_cast(&Loader::vertex)); - add("vertex", static_cast(&Loader::vertex)); - add("vertex", static_cast(&Loader::vertex)); - add("normal", static_cast(&Loader::normal)); - add("texcoord", static_cast(&Loader::texcoord)); - add("texcoord", static_cast(&Loader::texcoord)); - add("texcoord", static_cast(&Loader::texcoord)); - add("texcoord", static_cast(&Loader::texcoord)); - add("multitexcoord", static_cast(&Loader::multitexcoord)); - add("multitexcoord", static_cast(&Loader::multitexcoord)); - add("multitexcoord", static_cast(&Loader::multitexcoord)); - add("multitexcoord", static_cast(&Loader::multitexcoord)); - add("color", static_cast(&Loader::color)); - add("color", static_cast(&Loader::color)); - add("attrib", static_cast(&Loader::attrib)); - add("attrib", static_cast(&Loader::attrib)); - add("attrib", static_cast(&Loader::attrib)); - add("attrib", static_cast(&Loader::attrib)); - add("tangent", static_cast(&Loader::tangent)); - add("binormal", static_cast(&Loader::binormal)); - - add("vertex2", static_cast(&Loader::vertex)); - add("vertex3", static_cast(&Loader::vertex)); - add("vertex4", static_cast(&Loader::vertex)); - add("normal3", static_cast(&Loader::normal)); - add("texcoord1", static_cast(&Loader::texcoord)); - add("texcoord2", static_cast(&Loader::texcoord)); - add("texcoord3", static_cast(&Loader::texcoord)); - add("texcoord4", static_cast(&Loader::texcoord)); - add("multitexcoord1", static_cast(&Loader::multitexcoord)); - add("multitexcoord2", static_cast(&Loader::multitexcoord)); - add("multitexcoord3", static_cast(&Loader::multitexcoord)); - add("multitexcoord4", static_cast(&Loader::multitexcoord)); - add("color3", static_cast(&Loader::color)); - add("color4", static_cast(&Loader::color)); - add("attrib1", static_cast(&Loader::attrib)); - add("attrib2", static_cast(&Loader::attrib)); - add("attrib3", static_cast(&Loader::attrib)); - add("attrib4", static_cast(&Loader::attrib)); - add("tangent3", static_cast(&Loader::tangent)); - add("binormal3", static_cast(&Loader::binormal)); -} - -} // namespace GL -} // namespace Msp