I created a small shader library for pyglet. You might want to take a look at it: https://github.com/gabdube/pyshaders
Le mercredi 1 juin 2016 03:55:37 UTC-4, Benjamin Moran a écrit : > > I opened up a pull request for my simple ShaderProgram class I worked on a > few months ago. This is likely not suitable for merging in it's current > state, but I wanted to potentially spark up a bit of conversation on what > should be added/changed/modified/removed. The pull request is here: > https://bitbucket.org/pyglet/pyglet/pull-requests/24/shader_class/diff > The changes consist of two new files, so you could just copy/paste those > into a local directory for playing around with. > Feel free to express your horror at what you see. It's obviously not > finished :) > > ------------------------------------------------- > The rest of this post are just some thoughts I've been having with regards > to modern OpenGL and pyglet: > > When playing around with shaders and pyglet, some things come up: If you > use a newer OpenGL context, you have to give up all the nice pyglet > graphics classes and roll everything yourself. This is fine for advanced > use cases, but it's a huge drawback not being able to take advantage of the > awesome pyglet batches and other niceties. Using an OpenGL 3.0 context > bridges the gap, but of course this doesn't work on OSX (and old functions > are not even guaranteed to be available anyway by the spec). Looking > towards to a possible future where it might become necessary to support > OpenGL Core profiles, some thoughts are: > > 1. Fill the code base with a bunch of "if context > 3.0" statements and a > ton of duplicated methods for legacy and core OpenGL. > 2. Re-write the necessary pyglet classes to use the OpenGL Core profile, > including a default set of basic shaders that mimic the current > functionality. > > Option 1 seems foolhardy. Option 2 might be the best way to go. Perhaps > this timeframe would tie in with the eventual end of life for Python 2.x in > 2020. Dropping both Python 2 and legacy OpenGL at the same time would allow > a nice refresh. > > -- 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.
