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 _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
