在Python中使用OpenGL进行3D绘图

2 投票
4 回答
4855 浏览
提问于 2025-04-16 01:08

我需要做以下几件事:

  • 绘制带有特定3ds纹理的3D模型
  • 让模型能够移动(只是位置变化)
  • 有一个可以轻松操作的摄像头视角(最好是实时的)

我想用Python和OpenGL来实现这些功能。请问有哪些好的库可以使用,还有哪些不错的资料可以学习?

4 个回答

-1

你可以选择使用 pyOpengl,或者使用 Qt 里的 QopenGL 小部件。

1

虽然我通常不喜欢那些提到其他技术而不是被问到的技术的回答,但这次我还是要这么做。

你可能已经发现,搜索“Python OpenGL”会出现很多选项。从那些不再维护、安装起来很麻烦的绑定库,到一些更高级的3D库,它们仍然允许你使用底层的OpenGL调用。

我不是3D方面的专家,但我推荐你使用Blender 3D。(http://www.blender.org/) - 这是一款功能齐全的3D建模、动画和展示软件,可以用Python进行脚本编写和控制。在里面,你可以直接使用相机查看功能,准备好在展示模式(叫“游戏引擎”)中使用,还有Python脚本可以导入3ds文件。你可以通过Python编程来移动模型,或者使用逻辑块来实现 - 而且,它甚至允许你进行底层的OpenGL调用 :-) (所以这并不是太复杂)。

我觉得它能满足你所有的需求,而且比从头开始编写所有脚本要简单得多。

3

我推荐你使用python-ogre。这个工具可以帮你处理键盘、鼠标、窗口、OpenGL等各种复杂的事情。如果你需要,还可以通过一些额外的扩展来实现声音和物理效果。我自己有一个比较复杂的3D项目就是用OGRE写的,所以我可以说它真的很简单好用。里面的教程和示例足够让你完成你提到的那些功能。而且,它支持所有主流的3D建模软件,你可以把模型导出成OGRE能接受的格式。现在这个工具已经很成熟、稳定了,而且社区也很大。

撰写回答