举例一个opengl显示图形例子
时间: 2024-10-09 18:11:04 浏览: 52
在OpenGL中,最基础的例子通常是显示一个二维点或线条。这里是一个简单的Python代码片段,使用PyOpenGL库来绘制一个红色的三角形:
```python
import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLUT import *
def draw_triangle():
glBegin(GL_TRIANGLES)
glColor3f(1.0, 0.0, 0.0) # 设置三角形颜色为红色
glVertex2f(-0.5, -0.5) # 第一个顶点
glVertex2f(0.5, -0.5) # 第二个顶点
glVertex2f(0.0, 0.5) # 第三个顶点
glEnd()
def main():
pygame.init()
display = (800, 600)
pygame.display.set_mode(display, DOUBLEBUF | OPENGL)
glClearDepth(1.0) # 设置深度缓冲区
glEnable(GL_DEPTH_TEST) # 开启深度测试
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, (display[0] / display[1]), 0.1, 50.0) # 创建透视投影
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) # 清除颜色和深度缓冲
draw_triangle() # 绘制红色三角形
pygame.display.flip()
pygame.time.wait(10) # 稍微延迟一下以便观察
if __name__ == "__main__":
main()
```
在这个例子中,程序首先初始化pygame和OpenGL环境,然后创建一个红色的三角形并将其放在屏幕上。每次循环都会清除屏幕、绘制三角形,然后更新窗口显示。
阅读全文