[Bf-committers] proposal: OpenGL cleanup in master

Mike Erwin significant.bit at gmail.com
Sun Nov 22 20:51:00 CET 2015


Thanks everyone for your enthusiastic support of this!

Rules of engagement:

0) Don't do anything that breaks Blender!

1) Assume OpenGL 2.1 and GLSL 1.2 are fully available. We'll check the GL
version once at startup.

2) Remove use of old APIs and runtime checks for things that are definitely
there. Remove fallbacks if the "newer" version does the same thing only
better.

3) For now let's not go nuts rewriting things like immediate mode or matrix
stacks. Those will come soon enough! If you're already working on that sort
of thing please continue, it's just not within the scope of the near-term
cleanup effort.

4) Please prefix all commit messages with "OpenGL: ..." so they're easier
to track and review.


Here's an example commit of simple changes:
https://developer.blender.org/rB4310a76b6043

And an example diff for a bigger change that should be reviewed first:
https://developer.blender.org/D1632


What is safe to remove?

Wikipedia has a pretty good list of which extensions were absorbed (or made
obsolete) by certain versions of OpenGL. Anything 2.1 or below is a target.
Anything 3.0 or above needs to keep using the extension form! That list is
incomplete so if you find an extension not listed, research it yourself and
discuss here and/or #blendercoders IRC.

https://en.wikipedia.org/wiki/OpenGL

Building and running on Mac is a good way to catch any use  of post-2.1
features.


Happy coding!

Mike Erwin
musician, naturalist, pixel pusher, hacker extraordinaire


More information about the Bf-committers mailing list