vtk滤波器导致点倍增和正常值损坏

2024-04-29 15:19:25 发布

您现在位置:Python中文网/ 问答频道 /正文

使用vtkversion5.1时,我遇到了一些问题,有些模型在OpenGL中没有正确显示。在

将模型放入VTK的过程有点迂回,但是到达那里并相当简单。每个模型都是由四边形和三角形组成的流形网格。在

Blender models—>;包含点、点法线和多边形的自定义导出格式 自定义导出格式-&自定义C++分析器-gt;vtkPoopDATIO/P>

vtkPolydata->;vtkTriangleFilter->;vtkStripper->;vtkPolyDataNormals->;最终产品

由于我们的最终产品在渲染时显示了不规则和丢失的法线,所以我让VTK将对象写入一个纯文本文件,然后使用python将其解析回Blender。在

最初的结果是网格是正确的,并且与原始模型匹配,但是,当我使用Blender“选择非流形”选项时,大约15%的模型显示为非流形。网上的一些阅读建议使用“删除双重对象”作为解决方案,这实际上解决了使网格闭合的问题,但法线仍然不规则。在

所以,我想我希望有一些额外的选项/函数/过滤器可以用来确保模型可以通过过滤器正确读取和/或处理。在


Tags: 对象模型gt网格过滤器产品过程格式
1条回答
网友
1楼 · 发布于 2024-04-29 15:19:25

通过请求Blender在导出操作之前执行网格的三角化来解决此问题。在

造成损坏的原因是混合器对四边形执行隐式三角化,导致面存储为4个非共面点。通过提前强制显式三角剖分,我能够成功地执行导出并保持模型的完整性/流形。出现的漏洞是由于导出程序没有复制隐式三角剖分,从而导致数据丢失。在

相关问题 更多 >