On Mon, Jan 25, 2010 at 6:23 AM, Tristam MacDonald <[email protected]> wrote: > On Mon, Jan 25, 2010 at 3:53 AM, Florian Bösch <[email protected]> wrote: >> >> On Jan 25, 3:24 am, greenmoss <[email protected]> wrote: >> >> > However, I happened to hear that the Nehe tutorials use OpenGL 2 >> > calls, which have been deprecated. Is this true? If so, is there a >> > source of documentation that shows the "best" method of OpenGL 3 calls >> > in Pyglet? >> OpenGL 3 is... a bad idea to use, it's supremely hard, even for >> seasoned veterans, don't say I didn't warn you. > > That's... somewhat of a misrepresentation, at the very least. > Sure, OpenGL 1.1 is easier to pick up - immediate mode is fun to play around > in, the matrix stacks make transformations easy, and fixed-function shading > doesn't require any complex configuration for simple effects. > Unfortunately, as soon as you want complex lighting/shading effects, you > have to move to shaders. As soon as you need performance you have to move to > vertex buffer objects, and as soon as you need to do any complex > transformation work, you need to go with a more complex transformation > setup. > So yes, OpenGL 3 is a bit harder to pickup, especially if you don't have any > background in 3d math. But if you go the OpenGL 1.1 route, you are going to > end up in exactly the same place - albeit after a lot more time, and with a > lot of bad habits to un-learn. > -- > Tristam MacDonald > http://swiftcoder.wordpress.com/
Another major hurdle with OpenGL 3 is support in the wild on non-bleeding edge hardware. Sometimes even support for 1.x features (e.g., point sprites) and any shader support at all is lacking on more modest machines. Many graphics card that claim OpenGL 2.x support do not implement it completely, hopefully the same is not true of 3.x, but if history is any guide... That said OpenGL 3.2 is pretty exciting because it finally breaks away from the old fixed functionality system to a fully programmable one. But as mentioned that means you'll need to stretch your bootstraps a bit more to get off the ground, since there isn't a much preprogrammed functionality. But it also means that there aren't a bunch of different now obsolete apis that do the same thing to distract you. If you decide to go with OpenGL 1 or 2 instead, do yourself a favor and don't bother with wholly obsolete parts of the api like immediate mode. At a minimum use vertex arrays (or vbos). Pyglet has an api for defining them that insulates you a bit from the bare metal, and should work automagically with any graphics card that supports OpenGL 1.1-2. -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.
