[visionegg] anti-aliasing ibook G4 - repeat

Hi everyone,

Apologies if I have double posted, but I sent the original from a different e-mail account, and I'm unsure if it went through (smtp server problems).

I'm hoping an OpenGL/OS X (using 10.3.5) Guru maybe able to help me out.

I have pasted some example code, which simply opens an OpenGL window, and sticks some red/green pixels onto the screen for the creation of a stereogram.

I have simplified things for the example to illustrate the aliasing problem I'm having. So, I am simply adding a constant to every point for a constant different between left- and right-images.

I am under the impression (possibly wrong), that OpenGL will handle anti-aliasing points that I am passing to the video card by using the following methods:

[code]

glEnable(GL_POINT_SMOOTH) # hopefully this will enable antialiased points
glHint( GL_POINT_SMOOTH_HINT, GL_NICEST )


[/code]

However, when the image is displayed, and viewed through red/green glasses, it is apparent that there is a huge amount of disparity noise, from aliasing the pixel placement.

So, I'm wondering if there needs to be some hardware enabled anti-aliasing function? I have been scouring the web to try to find out how to access the features of the Radeon Mobility 9200 that comes with the iBook, but to no avail. If anyone has any hints on how to access these card features, or how to better handle pixel aliasing using Python/OpenGL etc. I would be very appreciative.

Thanks a lot,

kjm


------------------------------------------------------------------------------------------------


[code begins here]



#! /usr/bin/env python
FullScreen = 0;
################################################
# going to start with a simple rds.


############################################################### # import required libraries import sys import string

from Numeric import *
from RandomArray import *

####################
# openGL libraries
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

###############################################################
# Some misc paramaters

# define the ESC key
ESCAPE = '\033'

###############################################################
NUMDOTS = 1000;

x = random(NUMDOTS)*2-1;
y = random(NUMDOTS)*2- 1;

#  handle keypress event
def Keyboard(*args):
  global window
  if args[0]==ESCAPE:
      sys.exit()



# define a reshape function, in case it's needed
def Reshape(w,h):
  if h == 0:
      h = 1

def stereoproj(x,y):
  xl = x
  xr = x - 0.015
  return xl,xr


def display(*args):

  global x,y

  # Calculate the disp. x array
  (xl,xr) = stereoproj(x,y);


"""print shape(xl2), shape(y2) Commented debugging code print "size of (xl) = ", shape((xl)) print shape((y)) """

  xl = transpose([xl])
  xr = transpose([xr])
  yim = transpose([y])


#print "shape xl = ", shape(xl) #print "shape xr = ", shape(xr) #print "shape y = ", shape(yim)

  lim = concatenate([xl,yim],1)
  rim = concatenate([xr,yim],1)
    #print lim - rim ;


#print "shape lim = ",shape(lim) #print "shape rim = ",shape(rim)


glEnable(GL_POINT_SMOOTH) # hopefully this will enable antialiased points
glHint( GL_POINT_SMOOTH_HINT, GL_NICEST )


  # enabling these features does not seem to accomplish what I want.


glClearColor(0.0,0.0,0.0,0.0) # RGBA glClear( GL_COLOR_BUFFER_BIT )


# draw (xl,y) on screen glColor3f(1.0,0.0,0.0) # red glVertexPointerd(lim) glEnableClientState( GL_VERTEX_ARRAY ) glDrawArrays( GL_POINTS, 0, len(lim)) glDisableClientState( GL_VERTEX_ARRAY ) #glFlush() #glutSwapBuffers


# draw (xr,y) on screen glColor3f(0.0,1.0,0.0) # green glVertexPointerd(rim) glEnableClientState( GL_VERTEX_ARRAY ) glDrawArrays( GL_POINTS, 0, len(rim)) glDisableClientState( GL_VERTEX_ARRAY ) glFlush() glutSwapBuffers()



def setup_viewport():

  glMatrixMode( GL_PROJECTION )
  glLoadIdentity()


def main(): glutInit( sys.argv ) glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB ) glutInitWindowSize(600,600) glutCreateWindow( 'RDS ') setup_viewport() glutReshapeFunc(Reshape) glutDisplayFunc(display)

  if FullScreen == 1:
      glutFullScreen()

  #glutIdleFunc(display)
  glutKeyboardFunc( Keyboard )
  glutMainLoop()


print "Hold on to your butts" print "Hit ESC to exit."

# run main()
main()


Other related posts: