I am using the C style file write
Code: Select all
void SaveToFile(const std::string& filename)
{
Geometry::LOD_VertexMin* v = new Geometry::LOD_VertexMin[verts.size()];
for (int i = 0 ;i < verts.size(); i++)
v[i] = verts[i];
FILE* file;
fopen_s(&file, filename.c_str(), "wb");
fwrite(v, sizeof(Geometry::LOD_VertexMin), sizeof(Geometry::LOD_VertexMin)*verts.size(), file);
fclose(file);
SafeDelete(v);
}
any suggestions ?
If i go sizeof(v), this is just giving me the size of a pointer right?. the file outputs 256 bytes of data.
Geometry::LOD_VertexMin is a vector3 of position, vector2 texCoords and vector3 normals which should be 3x4 + 2x4 + 3*4 = 32 and what i'm guessing is a pointer is 8 bytes? so hence i get 256 bytes written