Hello everyone.
As I pointed out earlier in forum's General Section, I was porting Horde to OpenGL 4 render interface. You can have a look at it now:
https://github.com/algts/Horde3D/tree/GLModernWhat is implemented:
- fully functional in OpenGL core profile (minimal tested version - GL 3.3).
- all types of shaders (geometry, tesselation, compute). Not thoroughly tested yet.
- you can specify what render interface to use: GL4 or GL2. Engine will fallback to GL2 if GL4 is unavailable.
- small performance optimizations in h3dRender function.
- CRTP variation is used instead of virtual functions for render interface class. In release version function call performs like a direct call because of inlining, in debug version it can be a bit slower than virtual function.
- texture buffers for massive data exchange with shaders. Can be used for skinning for practically unlimited joint count per mesh. Not yet implemented for skinning and not tested yet.
Plans:
- add sample for geometry and compute shaders
- modify terrain extension to use tesselation shaders
Further plans:
- implement OpenGL ES 3 render interface
Questions and bug reports are welcome