Я пытаюсь экспортировать сетку в виде файла OBJ, используя OpenMesh с нормалями лица.Есть ли способ сделать это?
Документация OpenMesh :: IO показывает, что формат OBJ поддерживает нормали лица.Но когда я пытаюсь экспортировать сетку после запроса нормалей лица, я получаю эту ошибку:
[OBJWriter] : FaceNormal not supported by OBJ Writer
Это моя попытка экспортировать простой тетраэдр, используя нормали лица.
MyMesh mesh;
MyMesh::VertexHandle vhandle[4];
vhandle[0] = mesh.add_vertex(MyMesh::Point(-1, 0, 0));
vhandle[1] = mesh.add_vertex(MyMesh::Point( 1, 0, 0));
vhandle[2] = mesh.add_vertex(MyMesh::Point( 0, 1, 0));
vhandle[3] = mesh.add_vertex(MyMesh::Point( 0, 0, 1));
std::vector<MyMesh::VertexHandle> face_vhandles;
face_vhandles.clear();
face_vhandles.push_back(vhandle[0]);
face_vhandles.push_back(vhandle[1]);
face_vhandles.push_back(vhandle[3]);
mesh.add_face(face_vhandles);
face_vhandles.clear();
face_vhandles.push_back(vhandle[1]);
face_vhandles.push_back(vhandle[2]);
face_vhandles.push_back(vhandle[3]);
mesh.add_face(face_vhandles);
face_vhandles.clear();
face_vhandles.push_back(vhandle[2]);
face_vhandles.push_back(vhandle[0]);
face_vhandles.push_back(vhandle[3]);
mesh.add_face(face_vhandles);
face_vhandles.clear();
face_vhandles.push_back(vhandle[0]);
face_vhandles.push_back(vhandle[2]);
face_vhandles.push_back(vhandle[1]);
mesh.add_face(face_vhandles);
mesh.request_face_normals();
OpenMesh::IO::Options wopt;
wopt += OpenMesh::IO::Options::FaceNormal;
if (!OpenMesh::IO::write_mesh(mesh, "teste.obj", wopt))
{
return EXIT_FAILURE;
}