Description
This came out of a discussion with @Birkemose to make using custom GL code a little easier to understand and use. The basic idea is that instead of wrapping custom GL code in CCRenderer blocks in the draw method, there would be an option to use an optional CCNode render method instead. This method if implemented would be automatically wrapped and scheduled by the renderer.
At the moment, the biggest users of custom GL code appears to be people upgrading custom drawing code from v2. We also discussed bringing back a partial implementation of some of the GL macros and functions from v2. We could make many of the simpler cases "just work", which would be appreciated by some people attempting to upgrade their code.
The implementation would be pretty straightforward since most of the functionality is already there. All that really needs to be done is to add an optional protocol method for the render method and check if it's implemented in visit or the default draw method.