Hi. I just wanted to say that I found the problem. The porblem is
definitely local: it's called IDIOCY.

I forgot to call THIS function:

def InitGL():
    glShadeModel(GL_SMOOTH);
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glClearDepth(1.0);
    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LEQUAL);
    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
    return True

It was there all the time. I just didn't call it due to me being a
dumbass (I just forgot).

Anyways, thanks for answering. Had it not been for that I'd have
probably shelved the whole thing for a while.

Laters and, yet again, thanks.

On 2 oct, 19:47, Alejandro Castellanos
<[email protected]> wrote:
> These are actually the lines I tried after reading your post:
> -------------CODE START:
>
> import pyglet
> import math
> from pyglet.gl import *
>
> #Direct OpenGL commands to this window.
>
> window = pyglet.window.Window(200, 200);
> config = Config(double_buffer=True, depth_size=1000)
> pyglet.window.Window.__init__(window,
>                               config=config,
>                               vsync=True,
>                               width=window.width,
>                               height=window.height,
>                               resizable=True)
>
> -------------CODE END.
>
> The rest pretty much remains the same, the functions are pretty much
> unchanged. But alas, that does not seem to fix it. Unless I royally
> misinterpreted your post (for which I shamefully apologize) that does
> not seem to be the problem as things remain the same.
>
> I'm kinda surprised, and stumped. Do you have my exact problem when
> copying and pasting my code? 'Cause if the problem is mostly local
> then I may be royally screwed. I hope not as I was kinda jazzed at
> flexing some of my math muscle with some 3D stuff once I found my way
> around operating Opengl in pyglet.
>
> Though thanks for taking the time. It's always appreciated.
>
> On 2 oct, 19:13, Gary Herron <[email protected]> wrote:
>
> > On 10/02/2010 03:46 PM, Alejandro Castellanos wrote:
>
> > > Hi, I've been away from Pyglet for a while and now that time allows
> > > I'm back again, trying some Opengl stuff. I've been following some
> > > tutorials online (the NeHe ones) but I found something rather odd:
>
> > > I'm trying to draw a pyramid with no base and I make it spin around
> > > the Y axis, and everything seems just fine except for the fact that
> > > the drawing of the faces seems rather odd, appearing superimposed over
> > > each other, from the last one to the first one. The pyramid spins just
> > > fine but it all just looks weird.
>
> > > I've tried drawing the individual faces individually, and then they
> > > seem just fine. Everything goes out the window when I try to draw them
> > > all in the same scene, though.
>
> > > The faces have different colors so maybe that's it, but the problem is
> > > that I can't see where I'm going wrong.
>
> > What you describe sounds like the depth buffer isn't working.  I see
> > where you enable depth testing and where you clear the depth buffer, but
> > missing is the request for a depth buffer to be allocated.   If I
> > remember correctly, some implementations give you one whether or not you
> > ask for it, and some only if you explicitly ask for it.  So I always
> > make it explicit.  Here's a bit cut and pasted from one of my apps that
> > runs on both Windows and Linux.
>
> >          config = Config(double_buffer=True, depth_size=24)
>
> >          pyglet.window.Window.__init__(self,
> >                                        config=config,
> >                                        vsync=True,
> >                                        width=width,
> >                                        height=height,
> >                                        resizable=True)
>
> > Hope that's the problem...
>
> > Gary Herron
>
> > > Code is Below:
>
> > > ---------------------------------------------------------------------------
> > > CODE START:
>
> > > import pyglet
> > > import math
> > > from pyglet.gl import *
>
> > > #Direct OpenGL commands to this window.
> > > #window = pyglet.window.Window(resizable=True)
> > > window = pyglet.window.Window(200, 200, resizable=True);
>
> > > def ReSizeGLScene(width, height):
> > >      glViewport(0, 0, width, height);
> > >      glMatrixMode(GL_PROJECTION);
> > >      glLoadIdentity();
> > >      gluPerspective(45.0,width/height,0.1,100.0);
> > >      glMatrixMode(GL_MODELVIEW);
>
> > > def InitGL():
> > >      glShadeModel(GL_SMOOTH);
> > >      glClearColor(0.0, 0.0, 0.0, 0.0);
> > >      glClearDepth(1.0);
> > >      glEnable(GL_DEPTH_TEST);
> > >      glDepthFunc(GL_LEQUAL);
> > >      glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
> > >      return True
>
> > > def PyramidExmpl():
> > >      glBegin(GL_TRIANGLES);#Drawing using triangles
> > >      #DRAWING FRONT FACE.
> > >      glColor3f(1.0,0.0,0.0);#---------------------------RED
> > >      glVertex3f(0.0,1.0,0.0);#Top
> > >      glVertex3f(-1.0,-1.0,1.0);#Bottom Left
> > >      glVertex3f(1.0,-1.0,1.0);#Bottom Right
> > >      #DRAWING RIGHT FACE.
> > >      glColor3f(0.0,0.0,1.0);#---------------------------BLUE
> > >      glVertex3f(0.0,1.0, 0.0);#Top
> > >      glVertex3f(1.0,-1.0,1.0);#Bottom Left
> > >      glVertex3f(1.0,-1.0,-1.0);#Bottom Right
> > >      #DRAWING BACK FACE.
> > >      glColor3f(0.0,1.0,0.0);#---------------------------GREEN
> > >      glVertex3f(0.0,1.0,0.0);#Top
> > >      glVertex3f(1.0,-1.0,-1.0);#Bottom Left
> > >      glVertex3f(-1.0,-1.0,-1.0);#Bottom Right
> > >      #DRAWING LEFT FACE.
> > >      glColor3f(1.0,1.0,0.0);#---------------------------YELLOW
> > >      glVertex3f(0.0,1.0,0.0);#Top
> > >      glVertex3f(-1.0,-1.0,-1.0);#Bottom Left
> > >      glVertex3f(-1.0,-1.0,1.0);#Bottom Right
> > >      glEnd();#Finished Drawing The Pyramid
>
> > > #----------------------------------
> > > #----------------------------------
>
> > > class Rots(object):
> > >      def __init__(self):
> > >          self.tri = 0
> > >          self.quad = 0
>
> > > def DrawGLScene(rtri,rquad):
> > >      glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);#Clear The
> > > Screen And The Depth Buffer
>
> > >      glLoadIdentity();#Reset The Current Modelview Matrix
> > >      glTranslatef(-1.5,0.0,-6.0);  #Move Left 1.5 Units And Into The
> > > Screen 6.0.
> > >      glRotatef(rtri,0.0,1.0,0.0);#Rotate The Triangle On The Y axis
> > > ( NEW )
> > >      PyramidExmpl()
>
> > > "Defino un objeto que guarda unas variables r.tri y r.quad"
> > > "para que puedan ser accesadas desde adentro de una funcion."
> > > #----------------------------------Definiendo mis variables globales.
> > > r=Rots()#En este objeto guardo los valores de mis variables globales.
> > > r.tri=0.0
> > > r.quad=0.0
> > > #----------------------------------
> > > def sumadorangulos(dt):#Es la funcion que se encarga de sumarles
> > > valores.
> > >      r.tri = r.tri+2.0
> > >      if r.tri>= 360:
> > >          r.tri=0
>
> > > @window.event
> > > def on_draw():
> > >      DrawGLScene(r.tri,r.quad)
> > >      ReSizeGLScene(window.width, window.height)
>
> > > pyglet.clock.schedule_interval(sumadorangulos, 1.0/60.0)#lo que hecha
> > > a andar el sumador.
>
> > > pyglet.app.run()
> > > ---------------------------------------------------------------------------
> > > CODE END.
>
> > > Sadly I can't really tell where my mistake is.
>
> > > Anyways, any help would be greatly appreciated. Thanks in advance.

-- 
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