Hi,

I have been playing around with a simple script I wrote some time back
in 2007 to visualise a grid of lines using OpenGL.  It used to work
fine, but with the current version of Pyglet, it no longer does.

I use gluLookAt to do my camera, and when I tried the script again
yesterday, I could not see the badly lit array of lines.   I assumed
that the problem was with the view the camera calculated, or my grid
and played around with it for quite a few hours rewriting the camera
and in general trying to get anything to display with gluLookAt.

The pattern I originally used was to initialise the projection in the
Window resize handler, which gets called once on application startup.

@w.event
def on_resize(width, height):
    # Override the default on_resize handler to create a 3D projection
    glViewport(0, 0, width, height)
    glMatrixMode(GL_PROJECTION)
    glLoadIdentity()
    gluPerspective(60.0, width / float(height), 0.1, 1000.0)
    glMatrixMode(GL_MODELVIEW)

Then in my main loop, I called gluLookAt.

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)

    glLoadIdentity()

    view = camera.GetView()
    gluLookAt(camera.position.x, camera.position.y, camera.position.z,
              view.x, view.y, view.z,
              camera.up.x, camera.up.y, camera.up.z)

Eventually, on a whim I copied the logic out of on_resize and pasted
it above the gluLookAt code.  This fixed the problem.

Is it possible that something in Pyglet is requiring me to do the
projection mode work every loop?

You can check out the hacked to work script here:

http://pastebin.com/m16c7e31c

Cheers,
Richard.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pyglet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to