Skip to content

Twometer/neko-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neko Engine

The Neko Engine is a 3D game engine using Kotlin and LWJGL

Features

  • Deferred HDR rendering pipeline
  • Scenegraph-based model system
    • Assimp model importer
    • Bone and animation support
    • Component system
  • Shader preprocessor: NekoShaders (.nks)
  • Ultralight UI and ImGUI
  • OpenAL 3D sound engine
  • 3D text billboards
  • Extensible Post Processing FX pipeline
    • Scalable Ambient Occlusion
    • Screen Space Reflections
    • Bloom
    • FXAA
    • 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:joml
  • org.slf4j:slf4j
  • org.greenrobot:eventbus
  • com.labymedia:ultralight-java
  • io.github.spair:imgui-java
  • io.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