Import Pygame As PG
Import Pygame As PG
class App:
def __init__(self):
#inicialice python
pg.init()
pg.display.set_mode((640, 480), pg.OPENGL|pg.DOUBLEBUF)
self.clock = pg.time.Clock()
#inicialice opengl
glClearColor(0.1, 0.2, 0.2, 1)
self.shader = self.createShader("shaders/vertex.txt",
"shaders/fragment.txt")
glUseProgram(self.shader)
self.triangle = Triangle()
self.mainLoop()
shader = compileProgram(
compileShader(vertex_src, GL_VERTEX_SHADER),
compileShader(fragment_src, GL_FRAGMENT_SHADER)
)
return shader
def mainLoop(self):
running = True
while (running):
#check events
for event in pg.event.get():
if (event.type == pg.QUIT):
running = False
#refresh screen
glClear(GL_COLOR_BUFFER_BIT)
glUseProgram(self.shader)
glBindVertexArray(self.triangle.vao)
glDrawArrays(GL_TRIANGLES, 0,
self.triangle.vertex_count)
pg.display.flip()
#tiempo
self.clock.tick(60)
# pg.time.wait(10)
self.quit()
def quit(self):
self.triangle.destroy()
glDeleteProgram(self.shader)
pg.quit()
# self.triangle.destroy()
#glDeleteProgram(self.shader)
#pg.quit()
class Triangle:
def __init__(self):
#x, y, z, r, g, b
self.vertices = (
-0.5, -0.5, 0.0, 1.0, 0.0, 0.0,
0.5, -0.5, 0.0, 0.0, -1.0, -0.0,
0.0, 0.5, 0.0, 0.0, 0.0, 1.0
)
self.vertex_count = 3
self.vao = glGenVertexArrays(1)
glBindVertexArray(self.vao)
self.vbo = glGenBuffers(1)
glBindBuffer(GL_ARRAY_BUFFER, self.vbo)
glBufferData(GL_ARRAY_BUFFER, self.vertices.nbytes,
self.vertices, GL_STATIC_DRAW)
glEnableVertexAttribArray(0)
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 24,
ctypes.c_void_p(0))
glEnableVertexAttribArray(1)
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 24,
ctypes.c_void_p(12))
def destroy(self):
glDeleteVertexArrays(1, (self.vao,))
glDeleteBuffers(1, (self.vbo,))
if __name__ == "__main__":
myApp = App()
myApp.mainLoop()
import pygame as pg
from OpenGL.GL import*
class App:
def __init__(self):
pg.init()
pg.display.set_mode((640, 480), pg.OPENGL | pg.DOUBLEBUF),
self.clock =pg.time.Clock()
def mainLoop(self):
running = True
while (running):
glClear(GL_COLOR_BUFFER_BIT)
pg.display.flip()
self.clock.tick(60)
self.quit()
def quit(self):
pg.quit()
if __name__ == "__main.py__":
myApp = App()
import sys
from OpenGL.GL import *
from OpenGL.GLUT import *
from OpenGL.GLU import *
def init():
glClearColor(0.0, 0.0, 0.0, 1.0) # Color de fondo negro
def display():
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glLoadIdentity()
glutSwapBuffers()
def main():
glutInit(sys.argv)
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH)
glutInitWindowSize(800, 600)
glutInitWindowPosition(0, 0)
glutCreateWindow("Ventana en Blanco")
glutDisplayFunc(display)
glutReshapeFunc(reshape)
init()
glutMainLoop()
if __name__ == "__main__":
main()