Hi all, This thread is to discuss migrating pyglet to an OpenGL 3+ core profile at some point in the future. The cons are losing support for (what is now) very old graphics hardware. The pros are many, but include allowing usage of modern shaders and OpenGL features. We would want to keep pyglet usable without any OpenGL knowledge, which would mean a set of basic shaders that mimic the current functionality.
I've already hacked on my personal branch of pyglet to see if this is possible while keeping with the current pyglet structure, and I think it might be. I'm no OpenGL expert, but I think the following ideas will work: 1. Each Batch encompasses one VAO. 2. Each Group can contain shader programs. 3. The current default Group, which is a NullGroup, will instead contain a basic shader program. 4. The pyglet.graphics module remains the same. The default shaders will contain attributes that match the expected names. 5. If you wish to use your own shaders, and wish to use the pyglet.graphics.attribute clases, you must use the same attribute names (as these are hardcoded in the module). I've already tried this, in that I hacked the pyglet.graphics module to work with OpenGL 3+. This means vertex lists and batches both work, and you can create and draw primitives just like normal. The Sprite module is also working, but is broken because the current default shader is too crude to handle texture data correctly. It's just a proof of concept at this stage. You can find my fork here: https://bitbucket.org/HigashiNoKaze/pyglet/branch/shaders -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/pyglet-users. For more options, visit https://groups.google.com/d/optout.
