gkern is a flexible, highly configurable, and extensible render engine. It's designed for both realtime and offline rendering, with a focus on robustness, performance, and ease of use. It is written in C so it is easy to use with other languages.
📌 Currently the library renders using OpenGL. I'm trying to integrate with Metal, Vulkan, DirectX
HISTORY: The main purpose was render AssetKit content. Then it became general purpose rendering and graphics library.
- Similar scene data structure with COLLADA/glTF
 - Shader generator for common materials (phong, blinn, lambert, const)
- This generator also supports textures, shadowmaps ... all feeatures to render scene perfectly and fast
 
 - Shader manager (currently for common profile)
 - Transform caching
 - Uniform location caching
 - Built-in trackball
 - Multi-pass rendering
 - Rendering to Texture
 - Multiple Render Targets
 - Textures
 - State Manager / Caching
 - Frustum Culling
 - Configurable shadowmaps: Yes you can select which technique to use! More techniques may be supportted by time
- Basic/Simple Shadow Maps
 - Cascaded Shadow Maps (PSSM)
 
 - Order Independent Transparency
- Weighted, Blended OIT
 - Some other techniques aill also be supported natively
 
 - PBR materials
- Metallic-Roughness Workflow
 - Specular-Glossiness Workflow
 
 - Simple animations
 - Skeletal animations
 - Morph animations
 - ...
 - and some built-in helpers for many common tasks and more by fetures time...
 
- Real-Time Path Tracing
 - Order objects before rendering
 - PBR
 - Transparency
 - Occlusion Culling
 - Level of Detail for mesh
 - Multithread rendering
 - Instanced Rendering
 -  Animations
- Autoreserve animations
 - Play count...
 - Simple Animations
 -  Keyframe animations
- Animate float/vec3/vec4
 -  Interpolations
- STEP
 - LINEAR
 - CUBIC BEZIER SPLINE
 - CUBIC HERMITE SPLINE
 - B-SPLINE
 - CARDINAL SPLINE
 
 
 - Skeletal animations (working on this)
 - Morph animations
 
 - ...
 
todo
- This library is still unshaped, wait this until AssetKit finished.
 - After finished this AssetKit and library, I'll publish documentation and update README.
 - Also check simple-collada-viewer repo to see an example to how to use this
 
