OpenGl图元的模式
GL_POINTS,点
GL_LINES,线
GL_LINE_STRIP,条带线
GL_LINE_LOOP, 循环线
GL_TRIANGLES,立三角形
GL_TRIANGLE_STRIP, 三角形条带
GL_TRIANGLE_FAN,三角形扇面
GL_QUADS,四边形面
GL_QUAD_STRIP, 四边形条带
GL_POLYGON, 凸多边形边界
图元结果显示
GL_POINTS,点
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def drawFunc():
"""
设定的颜色值清除缓存区
用预先设定的清除值
设置正摄投影矩阵
设置点的大小
使用点模式,以begin为开始,以end为结束,设定点的位置颜色;
强制刷新缓冲,保证绘图命令被执行
"""
glClearColor(1.0, 1.0, 1.0,0.0)
glClear(GL_COLOR_BUFFER_BIT)
glOrtho(-2.0, 2.0, -2.0, 2.0, -2.0, 2.0)
glPointSize(5)
glBegin(GL_POINTS)
glColor3f(1.0, 0.0, 0.0)
glVertex3f(1, 1, 0)
glColor3f(0.0, 1.0, 0.0)
glVertex3f(-1, -1, 0)
glColor3f(0.0, 0.0, 1.0)
glVertex3f(1, -1, 0)
glColor3f(0.0, 0.0, 0.0)
glVertex3f(-1, 1, 0)
glEnd()
glFlush()
def main():
"""
初始化;
初始化显示模式;
初始化,窗口大小;
创建显示窗口,并定义标题;
自定义显示函数;
进入GLUT事件处理循环,让所有的与“事件”有关的函数调用无限循环;
"""
glutInit()
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowSize(400, 400)
glutCreateWindow("图元-GL_POINTS")
glutDisplayFunc(drawFunc)
glutMainLoop()
main()
GL_LINES,线
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def drawFunc():
"""
设定的颜色值清除缓存区
用预先设定的清除值
设置正摄投影矩阵
设置点的大小
使用线模式,以begin为开始,以end为结束,设定点的位置颜色;
强制刷新缓冲,保证绘图命令被执行
"""
glClearColor(1.0, 1.0, 1.0,0.0)
glClear(GL_COLOR_BUFFER_BIT)
glOrtho(-2.0, 2.0, -2.0, 2.0, -2.0, 2.0)
glPointSize(5)
glBegin(GL_LINES)
glColor3f(1.0, 0.0, 0.0)
glVertex3f(1, 1, 0)
glColor3f(0.0, 1.0, 0.0)
glVertex3f(-1, -1, 0)
glColor3f(0.0, 0.0, 1.0)
glVertex3f(1, -1, 0)
glColor3f(0.0, 0.0, 0.0)
glVertex3f(-1, 1, 0)
glEnd()
glFlush()
def main():
"""
初始化;
初始化显示模式;
初始化,窗口大小;
创建显示窗口,并定义标题;
自定义显示函数;
进入GLUT事件处理循环,让所有的与“事件”有关的函数调用无限循环;
"""
glutInit()
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowSize(400, 400)
glutCreateWindow("图元-GL_LINES")
glutDisplayFunc(drawFunc)
glutMainLoop()
main()
GL_QUADS,四边形面
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def drawFunc():
"""
设定的颜色值清除缓存区
用预先设定的清除值
设置正摄投影矩阵
设置点的大小
使用四边形模式,以begin为开始,以end为结束,设定点的位置颜色;
强制刷新缓冲,保证绘图命令被执行
"""
glClearColor(1.0, 1.0, 1.0,0.0)
glClear(GL_COLOR_BUFFER_BIT)
glOrtho(-2.0, 2.0, -2.0, 2.0, -2.0, 2.0)
glPointSize(5)
glBegin( GL_QUADS)
glColor3f(1.0, 0.0, 0.0)
glVertex3f(1, 1, 0)
glColor3f(0.0, 1.0, 0.0)
glVertex3f(1, -1, 0)
glColor3f(0.0, 0.0, 1.0)
glVertex3f(-1, -1, 0)
glColor3f(0.0, 0.0, 0.0)
glVertex3f(-1, 1, 0)
glEnd()
glFlush()
def main():
"""
初始化;
初始化显示模式;
初始化,窗口大小;
创建显示窗口,并定义标题;
自定义显示函数;
进入GLUT事件处理循环,让所有的与“事件”有关的函数调用无限循环;
"""
glutInit()
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowSize(400, 400)
glutCreateWindow("图元-GL_QUADS")
glutDisplayFunc(drawFunc)
glutMainLoop()
main()
GL_POLYGON,多边形
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def drawFunc():
"""
设定的颜色值清除缓存区
用预先设定的清除值
设置正摄投影矩阵
设置点的大小
使用多边形模式,以begin为开始,以end为结束,设定点的位置颜色;
强制刷新缓冲,保证绘图命令被执行
"""
glClearColor(1.0, 1.0, 1.0,0.0)
glClear(GL_COLOR_BUFFER_BIT)
glOrtho(-2.0, 2.0, -2.0, 2.0, -2.0, 2.0)
glPointSize(5)
glBegin(GL_POLYGON)
glColor3f(1.0, 0.0, 1.0)
glVertex3f(0, 2, 0)
glColor3f(1.0, 0.0, 0.0)
glVertex3f(1, 1, 0)
glColor3f(0.0, 1.0, 0.0)
glVertex3f(1, -1, 0)
glColor3f(1.0, 0.0, 1.0)
glVertex3f(0, -2, 0)
glColor3f(0.0, 0.0, 1.0)
glVertex3f(-1, -1, 0)
glColor3f(0.0, 0.0, 0.0)
glVertex3f(-1, 1, 0)
glEnd()
glFlush()
def main():
"""
初始化;
初始化显示模式;
初始化,窗口大小;
创建显示窗口,并定义标题;
自定义显示函数;
进入GLUT事件处理循环,让所有的与“事件”有关的函数调用无限循环;
"""
glutInit()
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowSize(400, 400)
glutCreateWindow("图元-GL__POLYGON")
glutDisplayFunc(drawFunc)
glutMainLoop()
main()