在Python中使用OpenGL进行3D绘图
我需要做以下几件事:
- 绘制带有特定3ds纹理的3D模型
- 让模型能够移动(只是位置变化)
- 有一个可以轻松操作的摄像头视角(最好是实时的)
我想用Python和OpenGL来实现这些功能。请问有哪些好的库可以使用,还有哪些不错的资料可以学习?
4 个回答
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能接受的格式。现在这个工具已经很成熟、稳定了,而且社区也很大。