Question

Using VTK version 5.1, I'm having some issues with some models not displaying correctly in OpenGL.

The process for getting the models into VTK is a bit roundabout, but gets there and is fairly simple. Each model is a manifold mesh comprised of only quads and tris.

Blender models->custom export format containing points, point normals, and polygons Custom export format->Custom C++ parser->vtkPolyData

vtkPolydata->vtkTriangleFilter->vtkStripper->vtkPolyDataNormals->final product

As our final product was showing irregular and missing normals when it was rendered, I had VTK write the object to a plaintext file, which I then parsed back into Blender using python.

Initial results were that the mesh was correct and matched the original model, however, when I used the Blender "select non-manifold" option, about 15% of the model showed to be nonmanifold. A bit of reading around online suggested the "remove doubles" as a solution, which did in fact solve the issue of making the mesh closed, but the normals were still irregular.

So, I guess I'm hoping there are some additional options/functions/filters I can use to ensure the models are properly read and/or processed through the filters.

Was it helpful?

Solution

This was solved by requesting that Blender perform a triangulization of the mesh prior to the export operation.

The mangling was due to Blender performing implicit triangulization of quads, resulting in faces which were stored as 4 non-coplanar points. By forcing explicit triangulation in advance, I was able to successfully perform the export and maintain model integrity/manifold-ness. The holes that were being experienced were due to the implicit triangulation not being copied by the exporter and thus causing loss of data.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top