Crossin的编程教室
标题:
Python 3D库——pyogre
[打印本页]
作者:
今天手气不错啊
时间:
2014-6-8 10:55
标题:
Python 3D库——pyogre
先上代码:
import sys
sys.path.insert(0,'..')
import PythonOgreConfig
import ogre.renderer.OGRE as ogre
import SampleFramework as sf
class Tutorial(sf.Application):
def _createScene(self):
camera=self.camera
sceneManager=self.sceneManager
entity=sceneManager.createEntity("robot","robot.mesh")
sceneManager.getRootSceneNode().createChildSceneNode(ogre.Vector3(0,0,0)).attachObject(entity)
light = sceneManager.createLight('BlueLight')
light.setPosition (-200, -80, -100)
light.setDiffuseColour (ogre.ColourValue(0.5, 0.5, 1.0) )
light = sceneManager.createLight('GreenLight')
light.setPosition (0, 0, -100)
light.setDiffuseColour (0.5, 1.0, 0.5)
camera.setPosition (100, 50, 100)
camera.lookAt(-50, 50, 0)
if __name__=='__main__':
ta=Tutorial()
ta.go()
复制代码
运行效果:
PyOgre是一个非盈利性的组织开发的第三方开发库,使得python能够使用OGRE这个开源图形渲染引擎进行开发一些3D应用程序。关于这个模块,网上的资料少得可怜,pyogre的官方倒是提供了一个文档,但是这个文档晦涩难懂,不适合初学者。那么我就根据我这么长时间接触这个模块的经验来给大家做一介绍。
一、安装
pyogre的原下载地址已经无法使用,其项目移到了SourceForge,大家可以参考这个网址
http://sourceforge.net/projects/python-ogre/
pyogre支持的版本很广,但只有python 2.5有msi格式的安装包,其余版本几乎都是源码包,
msi格式的安装包:之一.
http://sourceforge.net/projects/python-ogre/files/Historic%20Releases/1.6.1/
之二.
http://sourceforge.net/projects/python-ogre/files/Historic%20Releases/1.6.0/
msi格式的安装包我就不细说了,很简单,一路next就行了,主要是说一下源码包,下载源码包时,注意看右侧有一个小窗口,显示的是下载量,最好选下载量大的,比如我这里下载的是ogre-1.7.2-r1131M-py-2.7.7z。解压到一个文件夹,最好在C盘与python文件夹同级,当然不同级也无所谓,下载之后,按“WIN+R”键调出运行框,键入cmd打开命令提示符,切换到刚才解压后的pyogre文件夹,比如D:\PyOgre,然后在提示符后键入"python setup.py install",等待一段时间后,安装完毕,就可以进行pyogre编程之旅了。
二、配置
pyogre的配置不比c++/ogre配置复杂,安装完毕之后就可以使用了,只不过注意一点就是编写好的python文件最好放在pyogre的demo里的某个目录里,比如我这里放的就是bullet这个文件夹,放在其他文件夹,有时候会提示找不到文件。
三、开发流程
由于python不似c++有指针,python是一种面向类、面向对象的语言,因此就没有什么指针,更没有指针操作符。但是基本的思想是不变的,在pyogre里,为简化开发,有一个被称为“SampleFramework”的基础应用程序框架,开发的时候只需导入这个框架再重写createScene等其它函数就可以了
在pyogre里,所有的应用程序都继承自SampleFramework的Application类,并且还需重新定义那里面的成员函数,譬如_createScene(void),与c++一样,在createScene里定义模型、节点树并挂接到节点上
希望这篇文章能对大家有一点小小的帮助
作者:
crossin先生
时间:
2014-6-8 14:23
看上去还挺酷的
欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/)
Powered by Discuz! X2.5