All Projects → aleksigron → kokko

aleksigron / kokko

Licence: MIT License
Simple cross-platform game engine using OpenGL.

Programming Languages

C++
36643 projects - #6 most used programming language
GLSL
2045 projects
CMake
9771 projects

Projects that are alternatives of or similar to kokko

SmallFBX
An open-source implementation of Autodesk's FBX
Stars: ✭ 41 (+192.86%)
Mutual labels:  3d-graphics
Mezzanine
A game engine that supports high performance 3d graphics physics and sound
Stars: ✭ 18 (+28.57%)
Mutual labels:  3d-graphics
heron-language
A pure functional type-inferred language based on JavaScript
Stars: ✭ 53 (+278.57%)
Mutual labels:  3d-graphics
rabbit-hole
An experimental voxel engine.
Stars: ✭ 39 (+178.57%)
Mutual labels:  3d-graphics
3D-Rendering-Desktop-App
3D rendering engine made using Python as an exploratory adventure into the world of 3D graphics.
Stars: ✭ 27 (+92.86%)
Mutual labels:  3d-graphics
embedding
Embedding data into immersive environments
Stars: ✭ 26 (+85.71%)
Mutual labels:  3d-graphics
rend3
Easy to use, customizable, efficient 3D renderer library built on wgpu.
Stars: ✭ 546 (+3800%)
Mutual labels:  3d-graphics
pygfx
Like ThreeJS but for Python and based on wgpu
Stars: ✭ 72 (+414.29%)
Mutual labels:  3d-graphics
payton
Payton! Kickstart any 3D OpenGL + GTK Ideas in a few seconds!
Stars: ✭ 45 (+221.43%)
Mutual labels:  3d-graphics
tutorials-hg1
These tutorials demonstrate the usage of the Harfang API
Stars: ✭ 12 (-14.29%)
Mutual labels:  3d-graphics
NS-illustration-pack
Package of 3D low poly illustrations created in a Blender
Stars: ✭ 28 (+100%)
Mutual labels:  3d-graphics
3DCSGNet
CSGNet for voxel based input
Stars: ✭ 34 (+142.86%)
Mutual labels:  3d-graphics
gzweb
Web client for Gazebo classic simulation
Stars: ✭ 36 (+157.14%)
Mutual labels:  3d-graphics
limitless-engine
OpenGL C++ Graphics Engine
Stars: ✭ 95 (+578.57%)
Mutual labels:  3d-graphics
photometric optimization
Photometric optimization code for creating the FLAME texture space and other applications
Stars: ✭ 271 (+1835.71%)
Mutual labels:  3d-graphics
COLLADAViewer2
An OBSOLETE instructional OS X application to load/display COLLADA Models and export to compact binary representations.
Stars: ✭ 48 (+242.86%)
Mutual labels:  3d-graphics
Kusabi
Coding environment 3D graphics with PureScript.
Stars: ✭ 72 (+414.29%)
Mutual labels:  3d-graphics
osre
An open source render engine
Stars: ✭ 95 (+578.57%)
Mutual labels:  3d-graphics
3D-Product-Viewer-JavaScript-Plugin
360 Degree Product Viewer using plain JavaScript : Demo-->
Stars: ✭ 70 (+400%)
Mutual labels:  3d-graphics
PointcloudVoxelizer
A python based tool for converting point cloud into voxel grid.
Stars: ✭ 52 (+271.43%)
Mutual labels:  3d-graphics

Kokko Engine

Build status badge

A simple cross-platform game engine using OpenGL. I hope that little by little, this can become a good, small game engine that might offer some new ways to solve old problems.

Build and tests are being run on CI with Windows and Linux. Windows is tested much more regularly, so if you run into issues with Linux support, please report them with GitHub issues.

Screenshot

Features

Graphics

  • Deferred renderer
  • Physically based rendering with image-based lighting
  • HDR rendering pipeline
  • Bloom and tonemapping post effects
  • Directional, point and spot lights
  • Cascaded shadow maps for directional lights
  • Screen-space ambient occlusion
  • Separated command list build, ordering, dispatch
  • Simple data-driven material system

Engine

  • Entity component system (ECS)
  • Editor UI implemented using Dear ImGui

Resources

  • Asset files are JSON or YAML for readability and mergeability
    • Scenes
    • Materials
  • Mesh files can be loaded from glTF (early support)

Debugging

  • Logging
  • Profiling using Chrome tracing output
  • Memory statistics
  • Vector rendering
  • Frametime visualization
  • Culling visualization

Prerequisites

  • OpenGL 4.5
  • CMake for building the project
  • C++17 compliant compiler
  • Blender for exporting mesh files

Getting started

Create a Visual Studio solution

git submodule update --init --recursive
mkdir build
cmake -B build -G "Visual Studio 16 2019" -A x64

You need to have the repository root as the working directory when running the project.

The kokko target builds the static library containing the engine code. The kokko-editor target builds an editor executable that uses that engine library.

The editor interface and workflow are in an early state and are currently being worked on. There are known issues when it comes to creating projects and content files. Feel free to report issues on GitHub.

Tools

GLFW is used to manage OpenGL context, windows and read input.

Glad is used to load the OpenGL profile and extensions.

Dear ImGui is used to draw the editor UI.

rapidjson is used to read JSON formatted asset files.

yaml-cpp is used to read and write YAML formatted asset files.

fmt is used for logging formatting.

xxHash is used for content hashing.

cgltf is used for glTF model loading.

Gohufont is used for debug text rendering.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].