data.reserve(n*stride);
}
-float *VertexArray::append()
+char *VertexArray::append()
{
if(format.empty())
throw invalid_operation("VertexArray::append");
return &*(data.end()-stride);
}
-float *VertexArray::modify(unsigned i)
+char *VertexArray::modify(unsigned i)
{
if(format.empty())
throw invalid_operation("VertexArray::modify");
unsigned VertexArray::get_data_size() const
{
- return data.size()*sizeof(float);
+ return data.size();
}
add("vertex", static_cast<void (Loader::*)(float, float, float)>(&Loader::vertex));
add("vertex", static_cast<void (Loader::*)(float, float, float, float)>(&Loader::vertex));
add("normal", static_cast<void (Loader::*)(float, float, float)>(&Loader::normal));
+ add("tangent", static_cast<void (Loader::*)(float, float, float)>(&Loader::tangent));
add("texcoord", static_cast<void (Loader::*)(float)>(&Loader::texcoord));
add("texcoord", static_cast<void (Loader::*)(float, float)>(&Loader::texcoord));
add("texcoord", static_cast<void (Loader::*)(float, float, float)>(&Loader::texcoord));
add("weight", static_cast<void (Loader::*)(float, float)>(&Loader::weight));
add("weight", static_cast<void (Loader::*)(float, float, float)>(&Loader::weight));
add("weight", static_cast<void (Loader::*)(float, float, float, float)>(&Loader::weight));
-
- // Deprecated
- add("vertex2", static_cast<void (Loader::*)(float, float)>(&Loader::vertex));
- add("vertex3", static_cast<void (Loader::*)(float, float, float)>(&Loader::vertex));
- add("vertex4", static_cast<void (Loader::*)(float, float, float, float)>(&Loader::vertex));
- add("normal3", static_cast<void (Loader::*)(float, float, float)>(&Loader::normal));
- add("texcoord1", static_cast<void (Loader::*)(float)>(&Loader::texcoord));
- add("texcoord2", static_cast<void (Loader::*)(float, float)>(&Loader::texcoord));
- add("texcoord3", static_cast<void (Loader::*)(float, float, float)>(&Loader::texcoord));
- add("texcoord4", static_cast<void (Loader::*)(float, float, float, float)>(&Loader::texcoord));
- add("multitexcoord1", static_cast<void (Loader::*)(unsigned, float)>(&Loader::multitexcoord));
- add("multitexcoord2", static_cast<void (Loader::*)(unsigned, float, float)>(&Loader::multitexcoord));
- add("multitexcoord3", static_cast<void (Loader::*)(unsigned, float, float, float)>(&Loader::multitexcoord));
- add("multitexcoord4", static_cast<void (Loader::*)(unsigned, float, float, float, float)>(&Loader::multitexcoord));
- add("color3", static_cast<void (Loader::*)(float, float, float)>(&Loader::color));
- add("color4", static_cast<void (Loader::*)(float, float, float, float)>(&Loader::color));
- add("generic1", static_cast<void (Loader::*)(unsigned, float)>(&Loader::generic));
- add("generic2", static_cast<void (Loader::*)(unsigned, float, float)>(&Loader::generic));
- add("generic3", static_cast<void (Loader::*)(unsigned, float, float, float)>(&Loader::generic));
- add("generic4", static_cast<void (Loader::*)(unsigned, float, float, float, float)>(&Loader::generic));
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
- add("tangent3", static_cast<void (Loader::*)(float, float, float)>(&Loader::tangent));
- add("binormal3", static_cast<void (Loader::*)(float, float, float)>(&Loader::binormal));
- add("tangent", static_cast<void (Loader::*)(float, float, float)>(&Loader::tangent));
- add("binormal", static_cast<void (Loader::*)(float, float, float)>(&Loader::binormal));
-#pragma GCC diagnostic pop
}
} // namespace GL