neko-engine
neko-engine copied to clipboard
🧊 3D game engine using Kotlin and LWJGL
Neko Engine
The Neko Engine is a 3D game engine using Kotlin and LWJGL
Features
- [x] Deferred HDR rendering pipeline
- [x] Scenegraph-based model system
- [x] Assimp model importer
- [x] Bone and animation support
- [x] Component system
- [x] Shader preprocessor: NekoShaders (.nks)
- [x] Ultralight UI and ImGUI
- [x] OpenAL 3D sound engine
- [x] 3D text billboards
- [x] Extensible Post Processing FX pipeline
- [x] Scalable Ambient Occlusion
- [x] Screen Space Reflections
- [x] Bloom
- [x] FXAA
- [x] Vignette
Usage
repositories {
maven { url 'https://maven.twometer.de/releases/' }
}
dependencies {
implementation 'de.twometer:neko-engine:2.0.0'
}
Examples
Example code can be found here
For a game made with the Neko Engine, see my Among Us 3D
Debugging
For finding bugs, crashes, OpenGL errors, memory leaks, etc. that occur with the Neko Engine or any games written with it, I recommend the LWJGLX Debugger. For finding performance issues, you can use the built-in profiler.
Licensing
The engine itself is licensed under the Apache-2.0 License. However, for displaying HTML-based GUIs, the engine requires the Ultralight library, which has a proprietary licensing model. It is free to use for non-commercial or low-revenue projects, but others may require a paid license. See their website for more information.
Used libraries
org.lwjgl:lwjgl(assimp,glfw,meow,openal,opengl,stb)org.joml:jomlorg.slf4j:slf4jorg.greenrobot:eventbuscom.labymedia:ultralight-javaio.github.spair:imgui-javaio.github.microutils:kotlin-logging
Some shaders are derived from shaders found online. Their sources are attributed in their respective files.
This is the 2.x branch. If you are interested in the the 1.x version, see here