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.

Reply via email to