Engine Features

Explore the wide range of powerful features supported by Kemena3D, designed to help developers and creators build immersive 3D applications with flexibility and control. From core engine capabilities to advanced tools for rendering, scripting, and asset management, Kemena3D provides everything you need to bring your ideas to life.

Cross-platform Rendering

The engine currently uses the modern OpenGL rendering API, providing cross-platform compatibility right out of the box with minimal setup. In the future, support for additional rendering backends such as DirectX and Vulkan is planned, allowing greater flexibility to meet various performance requirements and platform-specific needs.

SDL 3 is integrated into the engine to manage window creation and input events across multiple platforms. This integration enables seamless deployment and consistent behavior on Windows, macOS, Linux, Android, iOS, and other supported operating systems, streamlining cross-platform development.

High Quality 3D Meshes and Animations

Under the hood, the engine leverages Assimp to support a wide range of popular 3D model formats, including FBX, GLTF, OBJ, and many more. For greater control and optimization, you can easily disable unused format support during the build process to reduce the final executable size.

Animation control is managed through dedicated animation and animator classes, allowing you to seamlessly switch between different animation states. This system provides fine-grained control over mesh animations, making it easy to implement state-based transitions such as idle, walk, run, or custom behavior.

Scenes and Assets Management

In Kemena3D, a game level is referred to as a World. Each World can contain multiple Scenes, enabling flexible scene management and seamless transitions. This architecture allows you to render different scenes to separate viewports. For example, displaying a selected character’s profile image or a real-time minimap, giving you greater control over complex multi-scene setups and UI integrations.

Every object in the scene can be easily serialized to or deserialized from JSON or BSON formats, allowing for straightforward saving and loading of assets. Each object is also assigned a unique UDID, making it easy to locate and reference objects within your logic scripts for dynamic interactions and state management.

Advanced Shaders and Materials

The engine supports modern shader programming, enabling the creation of advanced visual effects for your games or applications. It currently utilizes GLSL as its shading language, offering flexibility and performance on OpenGL-based platforms. In the future, support for Slang is being considered to improve cross-platform shader portability and integration with multiple rendering backends.

The engine includes built-in template shaders for both Phong and Physically Based Rendering (PBR) shading models, ready to use out of the box. Additionally, it fully supports loading and integrating custom shaders, giving you the flexibility to implement your own rendering techniques as needed.

Post-processing Effects

By default, the render buffer is drawn onto a screen-aligned quad, allowing you to apply custom shaders to create a wide range of post-processing effects. The engine also provides additional data such as screen luminance, motion vectors, and depth maps, enabling you to implement advanced screen effects like automatic brightness adaptation, motion blur, and more.

Open Source Dependencies

Not only is the engine itself open source, but we’ve also carefully chosen only open-source dependencies with permissive licenses. This ensures you can confidently use the engine in any type of project, commercial, non-commercial, or educational, without facing legal restrictions.

Below is a list of the included dependencies along with their respective licenses.
Dependency
Description
License
Assimp
3D model importing library
BSD
GLEW
OpenGL extension loading library
Modified BSD, Modified MIT
GLM
C++ mathematics library for graphics
Modified MIT
Jolt Physics
Physics engine
MIT
JSON for Modern C++
JSON parser library
MIT
Recast and Detour
Navmesh generation and navigation library
Zlib
SDL3
Cross-platform development library
Zlib
STB
Single-file C/C++ libraries
Public domain