您的位置:首页 > 编程语言 > Python开发

初试PyOpenGL二 (Python+OpenGL)基本地形生成与高度检测

2014-01-30 02:13 435 查看
  在上文中,讲述了PyOpenGL的基本配置,以及网格,球形的生成,以及基本的漫游。现在利用上一篇的内容,来利用高程图实现一个基本的地形,并且,利用上文中的第三人称漫游,以小球为视角,来在地形上前后左右漫游,能实时检测高度。下面先看下效果图:

def getMVP(eye):
v = ny.array(glGetFloatv(GL_MODELVIEW_MATRIX), ny.float32)
p = ny.array(glGetFloatv(GL_PROJECTION_MATRIX), ny.float32)
m = ny.array([[1, 0, 0, 0],[0, 1, 0, 0], [0, 0, 1, 0],[eye[0],0,eye[2],1]],ny.float32)
#print m
glUniformMatrix4fv(shaderall.updateProgram.pMatrix,1,GL_FALSE,p)
glUniformMatrix4fv(shaderall.updateProgram.vMatrix,1,GL_FALSE,v)
glUniformMatrix4fv(shaderall.updateProgram.mMatrix,1,GL_FALSE,m)
#glgeffloat


球MVP
  附件:Python地形.zip 和上方的漫游模式一样,其中EDSF前后左右移动,WR分别向上与向下,鼠标右键加移动鼠标控制方向,V切换第一人称与第三人称。UP与DOWN切换前面操作的移动幅度。在第三人称下,因为球中着色器限定了Y轴,故那时模式看起来如2.5D的那种游戏视角,能左右转动视角,不能看到天,不知2.5D游戏里的那种是不是也是这样被限制住了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: