Ganpat University
PyOpenGL is a Python library that serves as a binding to the OpenGL
graphics library
enabling developers to integrate powerful 2D and 3D graphics
capabilities into their Python applications.
It is used for creating visually rich and interactive software, including
games, simulations,
and scientific visualizations,
by harnessing the cross-platform and high-performance features of the
OpenGL standard.
PyOpenGL enables developers to work with cross-platform and high-
performance graphics functionality within the Python programming
language.
●
Ganpat University
Ensure Python and pip are installed
● OpenGL is supported on Integrated
● Install PyOpenGL and PyOpenGL-accelerate Raster Imaging System Graphics
Library (IRIS GL)
Low-Level Frame buffer
● OpenGL gives support for managing both
3D and 2D geometry
Ganpat University
import pygame
from math import *
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
from sys import *
from PIL import Image
vertices = ((1, -1, -1),(1, 1, -1),
(-1, 1, -1),(-1, -1, -1),
(1, -1, 1),(1, 1, 1),
(-1, -1, 1),(-1, 1, 1))
edges = ((0, 1),(0, 3),(0, 4),
(2, 1),(2, 3),(2, 7),
(6, 3),(6, 4),(6, 7),
(5, 1),(5, 4),(5, 7))
Ganpat University
def cube():
glBegin(GL_LINES)
for face in faces:
for vertex in face:
glColor3fv((1,0,0))
glVertex3fv(vertices[vertex])
glEnd()
glBegin(GL_LINES)
for edge in edges:
for vertex in edge:
# glColor3fv((0, 1, 0))
glVertex3fv(vertices[vertex])
glEnd()
Ganpat University def main():
pygame.init()
display = (800, 600)
pygame.display.set_mode(display, DOUBLEBUF | OPENGL)
pygame.display.set_caption("Pygame Demostration")
pygame.mouse.set_pos(display[0]/2,display[1]/2)
gluPerspective(45, (display[0] / display[1]), 0.1, 500.0)
glTranslatef(0.0, 0.0, -15)
glRotatef(1,45,45,45)
while True:
handle_events()
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
cube()
pygame.display.flip()
pygame.time.wait(10)