explaingit

turanszkij/wickedengine

7,035CAudience · developerComplexity · 5/5Setup · hard

TLDR

An open-source 3D graphics engine for Windows, Linux, and Mac that provides a ready-made foundation for building games and interactive visualizations, with a built-in scene editor, Lua scripting, and support for DirectX 12 and other graphics APIs.

Mindmap

mindmap
  root((wickedengine))
    What It Does
      3D graphics engine
      Game foundation
      Scene editor
    Features
      Global illumination
      FBX and GLTF models
      Lua scripting
      Audio playback
    Platforms
      Windows DirectX12
      Linux
      Mac
      Console ports private
    Tech Stack
      C++
      Lua
      CMake
      SDL2
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a 3D game or interactive visualization without writing low-level rendering code from scratch.

USE CASE 2

Use the built-in scene editor to design and preview 3D environments without writing any C++ code.

USE CASE 3

Script game behavior in Lua to control the engine without recompiling C++ code.

USE CASE 4

Load FBX or GLTF 3D models and render them with realistic global illumination lighting.

Tech stack

C++DirectX 12LuaCMakeSDL2Visual StudioXcode

Getting it running

Difficulty · hard Time to first run · 1day+

Requires Visual Studio on Windows or CMake with SDL2 on Linux, console platform files are kept private.

In plain English

Wicked Engine is an open-source 3D graphics engine written in C++. It is intended for developers who want a foundation for building games, interactive visualizations, or other graphics-heavy applications, without having to write all of the underlying rendering code from scratch. The engine supports Windows, Linux, and Mac, and also has extensions for Xbox Series X and PlayStation 5, though those console-specific files are kept private. On Windows it uses DirectX 12 for rendering, while other platforms use their respective graphics APIs. The feature list includes things like global illumination (a technique for simulating how light bounces around a scene realistically), support for loading 3D model files in FBX and GLTF formats, an entity-component system for organizing scene objects, audio playback, and input handling. Along with the engine library itself, the project ships a standalone 3D editor application. You can use the editor to build and view scenes without writing code. For developers who do want to write code, the engine exposes a C++ API and also supports scripting through Lua, which is a lightweight scripting language that lets you control the engine without recompiling. Building the engine on Windows involves opening a Visual Studio solution file and pressing build. On Linux it uses CMake and requires a few system packages including SDL2. On Mac it uses Xcode project files. The README includes short code examples showing how to initialize the engine, load a 3D model, play a sound, and set up a 2D menu screen alongside a 3D game scene. The project has a public website, documentation, a Discord community, and a forum for discussion and support.

Copy-paste prompts

Prompt 1
Show me the minimal C++ code to initialize Wicked Engine, load a GLTF model, and render it in a window.
Prompt 2
How do I write a Lua script in Wicked Engine that moves a 3D object along a path each frame?
Prompt 3
Give me the steps to build Wicked Engine on Linux with CMake and which SDL2 packages I need to install first.
Prompt 4
How do I add audio playback to a Wicked Engine scene using its C++ API?
Prompt 5
What entity-component patterns does Wicked Engine use to organize and update scene objects?
Open on GitHub → Explain another repo

← turanszkij on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.