在3D(有限)3D编程经验中,我们通常会设置一个包含材质和纹理的3D模型,然后设置灯光和相机。最后,我们可以通过相机获得2D视图。
但是我需要改变这个过程:给定2D视图图像,相机设置和没有纹理的3D模型,我想找到模型的纹理,使得它产生相同的2D视图。为了简化,我们忽略光和材料,假设它们是均匀的。
虽然不容易,但我想我可以写一个程序来做到这一点。但是有没有现有的轮子,所以我不必再发明它? (C#,WPF 3D或openCV)
答案 0 :(得分:1)
Helix3d
Toolkit有一个名为" ContourDemo"的有趣示例。如果您下载整个源代码,您将获得一个展示其功能的非常全面的示例应用程序。
此特定示例使用许多辅助方法从给定的3D模型文件(.3ds
,.obj
,.stl
)生成轮廓网格。
即使没有任何东西适合执行核心要求(提取纹理),它也是显示原始文件和生成的任何输出的绝佳工具包。