python opengl3d模型_如何获取opengl三维模型截面图?

您需要拆分对象,然后旋转这些块,以便从侧面看到它们。(或移动摄像机。这两个想法是相同的。但是如果你从头开始编码,你就没有真正的“相机”的抽象了。)在那一点上,你可以只渲染所有的切片。在

这在原始OpenGL和python中很复杂,本质上是因为OpenGL中的对象不是实心的。我强烈建议您在建模程序中提前将对象切分为多个部分。如果您需要用脚本来驱动这些操作,可以看看Blender的python脚本系统。

现在,解释一下原因:

当你切一个真实的橘子,你期望得到横截面。你希望能看到里面的果肉,还有那些三角形的碎片。在

标准多边形三维模型中没有任何内容。在

此外,由于真正的橙皮有厚度,所以可以从侧面观察果皮。相比之下,三维模型的一个面是无限薄的,所以当你从侧面观察时,你将什么也看不见。因此,如果从侧面渲染这个简单模型的切片,每个渲染都将是完全空白的。在

(好吧,末端的部分会有“盖子”,就像面包的末端一样,但是中间部分是完全看不见的。)

如果没有一个对切割有概念的编程库,这将变得非常复杂,非常快。仅仅削减是不够的。如果你想把原来的形状切成片,你就必须看到。然而,填充横截面必须智能地完成,否则你会得到各种各样奇怪的阴影效果(仅供参考:这是由n个边角造成的,如果你想去发现更多关于这些问题的信息)。在

要返回原始语句:

建模程序是为解决这些问题而设计的,所以我建议您尽可能利用它们的能力。或者至少,你可以检查Blender是如何实现这个功能的,因为它是开源的。在

在Blender中,你可以用刀子工具*,然后用“makeface”命令来填满这些洞(只需点击F)。很简单,即使对那些不擅长艺术的人来说也是如此。我鼓励你在做太多的3D编程之前先学一点3D建模。这对我个人帮助很大。在

*(loop-cut工具也可以做到这一点,但是如果不了解模型的拓扑结构,就很难判断。你现在可能不想了解拓扑结构,所以就用刀吧)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值