Version 0.2.2 will be appearing shortly as soon as the bugs marked with * will be resolved and a windows project is updated
Bugs Fixed:
1) Transparent Windows on AMD/NVidia in GL Core Profile under Linux
2) Bad Mesh Quantization for the OBJ loader leading to slightly miss-placed UVs and Vertices
3) Bug in setTexture where is an old texture was remoed it would crash
4) Bug where Irrlicht wouldn't compile with GCC 6.3 (needs the option -std=c++03) because of some SHA256 code
5) Bug where some meshes in a Skinned X-Format Mesh attached to a bone but without weights would be in the wrong place (actually a quaternion bug )
New Features:
1) OpenCL device stub, finds associated device to the rendering GPU and can report number of GPU cores
2) CPU culling workarounds for small instance counts to avoid GPU idling
3) Normal quantization to 30bit in x meshes, even ones which use Skinning
4) MultiDrawIndirect and DrawIndirect handles to GL functions (can use this OpenGL feature if desired)
5) Minimum GL version is now 4.0 plus a few ubiquitous extensions, until Intel retires all Bay-Trail SOCs and Ivy Bridge CPUs
The engine minimum requirements will be for Nvidia GeForce 400 series, Radeon HD 5000 series, and Intel HD Graphics bundled with Ivy Bridge CPUs and up
Roadmap for the Immediate Next Release (In the order Features Will appear):
1) Bounding Box culling to avoid animating/boning meshes which are guaranteed to be off-screen
2) Uniform Buffer Objects and getting rid of setShaderConstant
3) New Material State Tracking system
4) Separation of BaseMaterial (essentially Blend State) from actual shader programs
5) Shader Subroutines
6) InstancedSkinnedMeshSceneNode with LoDs (together with a re-skin function for cpu meshes to reduce the number of bone weights per vertex)
7) GPU Boning

Expensive Operation (Cass Everit's "OpenGL Beyond Porting) Profiling and Tracking (MRT change, Shader Program, ROP, etc.)
Roadmap for Version 0.3:
1) SDL 2 Device
2) removal of irrlicht types like s8,u8,c8 etc.
3) Migrating to std::vector and list instead of core::array
4) Compute Shaders and SSBOs
5) Quaternion only rotations
6) SIMD only vector math
Roadmap for Version 0.4:
1) ASSIMP for model format import/export which will load textures without putting them in GPU memory, this will enable multi-threading of mesh loading
2) Global mesh optimization function (do forsyth index optimization and re-quantization into vertex attribute formats with less bit-depth)
3) Better CPU to GPU Mesh conversion modes (making sure vertex attributes are interleaved)
4) 1D Textures
Roadmap for 0.5:
1) Super-fast per-thread malloc/new pool allocator
2) Super-fast thread-safe malloc/new operators
3) Full-GPU compute shader scenegraph update and drawcommand generation
4) Nvidia Bindless, Sparse Textures and NV command-list
Roadmap for 0.6:
1) Bumping Minium GL Version to 4.3
2) AVX/AVX2 versions of all SIMD stuff with separate library builds
3) Vulkan Renderer
4) Android builds
Sometime Later:
A) Atomic Reference Counting
B) Bumping C++ version to C++x11 and use C++x11 mutexes and maybe some other stuff
C) SSE3 SIMD Dual Quaternion Class
D) Dual Quaternion Skinning
E) Multisample renderbuffers and textures