def redraw_perspective(self):
w = self.winfo_width()
h = self.winfo_height()
glViewport(0, 0, w, h)
# Clear the background and depth buffer.
glClearColor(*(self.colors['back'] + (0,)))
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(self.fovy, float(w)/float(h), self.near, self.far + self.distance)
gluLookAt(0, 0, self.distance,
0, 0, 0,
0., 1., 0.)
glMatrixMode(GL_MODELVIEW)
glPushMatrix()
try:
self.redraw()
finally:
glFlush() # Tidy up
glPopMatrix()
http://www.forcal.net/sysm/lu1/luhtm/openlugl.htm#example_glNewList
1 概述 2 OpenGl简介 3 OpenLuGl的图形输出及坐标系统 4 OpenLuGl的源程序基本格式 5 例子 6 显示列表与实体模块 |
7 函数概述 8 gl函数 9 glu函数 10 gle函数 11 lg函数 |
gluLookAt 函数详解
详细解释看原作者博客
void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,
glViewPort(x:GLInt;y:GLInt;Width:GLSizei;Height:GLSizei);
其中,参数X,Y指定了视见区域的左下角在窗口中的位置,一般情况下为(0,0),Width和Height指定了视见区域的宽度和高度。
gluPerspective(解释得很好)