python-OpenGL编程实例

1.黄色背景红色矩形

python-OpenGL编程实例_第1张图片

from OpenGL.GL import *
from OpenGL.GLUT import *

def draw():
    glFlush()  # 清空缓冲区,将指令送往硬件立即执行
    glClearColor(1.0, 1.0, 0, 0)   #设置清除颜色为黄色
    glClear(GL_COLOR_BUFFER_BIT)   #把窗口清除为当前颜色
    glBegin(GL_POLYGON)   #与glEnd()合用,GL_POLYGON表示绘制一个凸多边形,顶点1到n定义了这个多边形
    glColor3f(1.0, 0, 0)   #设置红色
    glVertex2d(-0.5, -0.5)   #坐标位置为(-0.5,-0.5)
    glVertex2d(-0.5, 0.5)
    glVertex2d(0.5, 0.5)
    glVertex2d(0.5, -0.5)
    glEnd()   #绘制结束
    glFlush()   #将命令缓冲区的内容提交给硬件执行

if __name__ == "__main__":
    glutInit()  #初始化glut库
    glutCreateWindow('draw with OpenGL')  #创建glut窗口
    glutDisplayFunc(draw)  #注册回调函数draw()
    glutMainLoop()  #进入glut主循环

 

2. 白色背景渐变矩形

python-OpenGL编程实例_第2张图片

from OpenGL.GL import *
from OpenGL.GLUT import *

def draw():
    glFlush()   #清空缓冲区,将指令送往硬件立即执行
    glClearColor(1.0, 1.0, 1.0, 0.0)   #设置清除颜色为白色
    glClear(GL_COLOR_BUFFER_BIT)   #把窗口清除为当前颜色
    glShadeModel(GL_SMOOTH)   #控制绘制指定两点间其他点颜色的过渡模式,GL_SMOOTH会出现过渡效果
    glBegin(GL_POLYGON)   #绘制一个凸多边形
    glColor3f(1, 0, 0)   #红色
    glVertex2f(-0.5, 0.5)
    glColor3f(0, 1, 0)   #绿色
    glVertex2f(-0.5, -0.5)
    glColor3f(0, 0, 1)   #蓝色
    glVertex2f(0.5, -0.5)
    glColor3f(1, 1, 1)   #白色
    glVertex2f(0.5, 0.5)
    glEnd()   #结束绘制
    glFlush()   #将命令缓冲区的内容提交给硬件执行

if __name__ == "__main__":
    glutInit()  #初始化glut库
    glutCreateWindow('draw with OpenGL')  #创建glut窗口
    glutDisplayFunc(draw)  #注册回调函数draw()
    glutMainLoop()  #进入glut主循环

 

你可能感兴趣的:(python)