设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 18173|回复: 1
打印 上一主题 下一主题

Python 3D库——pyogre

[复制链接]

21

主题

1

好友

373

积分

中级会员

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2014-6-8 10:55:22 |只看该作者 |倒序浏览
先上代码:
  1. import sys
  2. sys.path.insert(0,'..')
  3. import PythonOgreConfig
  4. import ogre.renderer.OGRE as ogre
  5. import SampleFramework as sf
  6. class Tutorial(sf.Application):
  7.     def _createScene(self):
  8.         camera=self.camera
  9.         sceneManager=self.sceneManager

  10.         entity=sceneManager.createEntity("robot","robot.mesh")
  11.         sceneManager.getRootSceneNode().createChildSceneNode(ogre.Vector3(0,0,0)).attachObject(entity)
  12.         light = sceneManager.createLight('BlueLight')
  13.         light.setPosition (-200, -80, -100)
  14.         light.setDiffuseColour (ogre.ColourValue(0.5, 0.5, 1.0) )

  15.         light = sceneManager.createLight('GreenLight')
  16.         light.setPosition (0, 0, -100)
  17.         light.setDiffuseColour (0.5, 1.0, 0.5)

  18.         camera.setPosition (100, 50, 100)
  19.         camera.lookAt(-50, 50, 0)


  20. if __name__=='__main__':
  21.     ta=Tutorial()
  22.     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里定义模型、节点树并挂接到节点上

希望这篇文章能对大家有一点小小的帮助
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2014-6-8 14:23:05 |只看该作者
看上去还挺酷的
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 16:46 , Processed in 0.021890 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部