OpenGL Library (glLib*)
OpenGL Library (glLib*) - 1.4
Ian Mallett (geometrian)
2d pyopengl geometrian 3d shadows cube shadow sphere texture heightmap texturing shadowing textures cone
I for one got sick of having to figure out how to do everything in PyOpenGL. Don't get me wrong--PyOpenGL is a brilliant module, and usually, it wasn't so hard, but it could have been made easier. Forgot how to turn on texturing, or lighting? Google fifteen minutes and add the one line of code you need. Can't figure out why your polygons don't show up? Start over. Can't remember how to make a quadric sphere? Dredge up some decades old code to search for how.
I decided to change all that and actually make some PyOpenGL basecode for a change, instead of redoing it every time.
This code is the result.
Additionally, this code will let you do things you didn't know how to do before. Do you want to load a heightmap? Do you want to have a nice smooth camera ride? Have you ever done mipmapping? Do you want shadows? Answer: 'Yes'.
So, down to it:
This code should make doing PyOpenGL much easier for most of us. You may use this code anywhere you like, BUT please give my credit for your nice game's backend, and if you explicitly take credit for it, I may have to kill you ;-)
Please note, this is a semi-beta release. Everything works (unless you have an old computer which doesn't like shadowing), but the code is not documented nor particularly stable (it is easy to crash it by doing something bad, and you'll have no idea what happened). That said, the code is designed to be easy to read.
I've added some new features; there is now a built in UnProject command for easily retrieving the mouse position inside the screen inside the current viewport, and a screenshot taker.
My biggest achievement this time around was to tweak the shadows. I fixed a few minor things and added a tutorial on how to make the light camera perspective, distance, and angle conscious. It makes sense to me, but again, there are very few comments. I also added support for multishadowing--or the shadowing of a scene using more than one light--you may now have up to eight different shadows of any color interfering with each other in realistic realtime!
There is still quite a lot to do, including some known bug fixes. I hope to add reflection mapping (already have several almost-working prototypes) soon and some other random things.
Pygame.org account Comments
If you wish to leave a comment with your pygame.org account, please sign in first.