[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[pygame] OpenGL not double buffering?



When I try out the program below, I can see
the screen flicker everytime the display updates.
Double-buffering does not seem to be utilized.
Can anyone confirm if this is indeed the
case on their machines?

I'm using Pygame 1.4.9/PyOpenGL 2.0.0.44 under
Windows XP with a Voodoo3 video card.


=== START LISTING ===

import sys
import pygame
import math
import random
from pygame.locals import *
from OpenGL.GL import *
from math import *
from random import *

screenWidth=800
screenHeight=600

def draw ():
  glClear (GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)

  glMatrixMode (GL_PROJECTION)
  glLoadIdentity ()
  glOrtho ( 0, screenWidth, 0, screenHeight, -1, 1 )

  originX=400
  originY=320
  radius=250
  vectorY1=originY
  vectorX1=originX
  glBegin(GL_TRIANGLES)
  for i in xrange(0,361,18):
    angle=i/57.295779577953135
    vectorX=originX+radius*sin(angle)
    vectorY=originY+radius*cos(angle)
    glColor3f(random(),random(),random())
    glVertex2d(originX,originY)
    glVertex2d(vectorX1,vectorY1)
    glVertex2d(vectorX,vectorY)
    vectorY1=vectorY
    vectorX1=vectorX
  glEnd()
  pygame.display.flip ()

pygame.init()
pygame.display.set_mode((screenWidth, screenHeight),
FULLSCREEN|OPENGL|DOUBLEBUF)

while 1:
  event=pygame.event.wait()
  if event.type == QUIT:
    sys.exit ( 0 )
  draw()

=== END LISTING ===

____________________________________
pygame mailing list
pygame-users@seul.org
http://pygame.seul.org