You need to set an orthonographic projection matrix after pushing, you  
can use glOrtho.

I prefer to set my perspective projection at the beginning of each  
frame, and then set an ortho matrix before drawing my GUI - avoiding  
push/pop entirely.

-- Sent from Tristam's iPhone

On Jan 28, 2009, at 8:32 AM, nachik <[email protected]> wrote:

>
> Thank you Casey,
>
> The thing is I don't know how to go back to the 2D state (default).
> PushMatrix and PopMatrix don't seem to work for some reason, I will
> try to isolate the problem and post the code later, but in any case I
> don't know how to go back to whatever state is the default, as in
> simple-menu-class (link above) that simply specifies no projection,
> and I don't know how to save the current data any other way than
> PushMatrix and PopMatrix.
>
> Thanks for the pointers.
>
> On Jan 27, 9:20 pm, Casey Duncan <[email protected]> wrote:
>> On Tue, Jan 27, 2009 at 10:58 AM, nachik <[email protected]> wrote:
>>
>>> I'm trying to incorporate simple-menu-class (
>>> http://groups.google.com/group/pyglet-users/web/simple-menu-class)
>>> into a small 3D test and I don't see anything, just so I can switch
>>> from keyboard control to a more visual control (actually I'd leave
>>> both).
>>
>>> I thought   then glPopMatrix every time I draw the menu
>>> would be enough but apparently it isn't.
>>
>> If I understand correctly, you are trying to switch from 3D
>> perspective to a 2D ortho projection to draw the menu, correct?
>>
>> If that's the case, glPushMatrix/glPopMatrix is sufficient to save  
>> the
>> projection if the current matrix mode is GL_PROJECTION afaik. Note
>> however that the stack depth for GL_PROJECTION is typically very
>> shallow (like around 2), so you cannot nest these pushes and pops
>> without getting an error.
>>
>> I don't typically bother with saving and restoring the projection
>> state this way, instead I just encapsulate the state change code
>> somewhere (like a pyglet Group or a game state object) for 2D and 3D
>> parts and make sure it gets invoked before the specific elements are
>> drawn. Taking care not to do the state changes more than necessary,
>> which a Group object helps with.
>>
>> hth,
>>
>> -Casey
> >

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