首页 > 其他 > 详细

Draw a line segment with PyOpenGL

时间:2017-12-18 10:35:41      阅读:556      评论:0      收藏:0      [点我收藏+]

Hardware: 

  Memory: 11.7 GiB

  Processor: Intel? Core? i5-3570 CPU @ 3.40GHz × 4 

  Graphics: Gallium 0.4 on AMD CAICOS (DRM 2.43.0, LLVM 3.8.0)

  OS type: 64-bit

Dependencies:

  python3.5

  pygame

  PyOpenGL

import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
def init():
    glClearColor(1,1,1,0)
    glMatrixMode(GL_PROJECTION)
    gluOrtho2D(0,200,0,150)
def lineSegment():
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)#create display window
    glColor3f(0,0.4,0.2)
    glBegin(GL_LINES)
    glVertex3f(180,15,0)
    glVertex3f(10,145,0)
    glEnd()
    glFlush()
def main():
    pygame.init()
    display = (400, 300)
    pygame.display.set_mode(display, DOUBLEBUF | OPENGL)
    init()
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()

            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    glTranslatef(-0.5,0,0)
                if event.key == pygame.K_RIGHT:
                    glTranslatef(0.5,0,0)

                if event.key == pygame.K_UP:
                    glTranslatef(0,1,0)
                if event.key == pygame.K_DOWN:
                    glTranslatef(0,-1,0)

            if event.type == pygame.MOUSEBUTTONDOWN:
                if event.button == 4:
                    glTranslatef(0,0,1.0)

                if event.button == 5:
                    glTranslatef(0,0,-1.0)

        lineSegment()
        code=glGetError()
        if code!=GL_NO_ERROR:
            string=gluErrorString(code)
            print(string)
        pygame.display.flip()
        pygame.time.wait(10)
if __name__ == ‘__main__‘:
    main()

The result is as below:

 

技术分享图片

 

Draw a line segment with PyOpenGL

原文:http://www.cnblogs.com/cxxszz/p/8056190.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!