Skip to content

Experimental C++ 20 vulkan ray tracing game engine

License

Notifications You must be signed in to change notification settings

binary-breakpoint/SmolEngine.RT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

SmolEngine SDK

SmolEngine

Level Editor

SmolEngine SmolEngine

Features

Rendering

  • RTX Direct Illumination (RTXDI)
  • ReLAX Real-Time Denoiser
  • Deep Learning Super Sampling (DLSS)
  • FidelityFX Super Resolution (FSR)
  • Dear ImGUI integration
  • Own abstraction layer on top of Vulkan API
  • In-Game UI (text, buttons, input fields, etc)
  • Raytracing/Graphics/Compute pipelines
  • Full GLSL/HLSL support
  • Post-Processing: Bokeh Depth of Field, Bloom
  • UE4 Sky Atmosphere
  • Direct and Indirect Lighting
  • RTX Global Illumination (RTXGI)
  • Animations
  • Geometry lights
  • Scriptable pipeline
  • Mesh shaders
  • Particle system
  • VR support

Core

  • C#/C++ Scripting API
  • Entity Component System
  • Jobs System
  • Prefabs
  • Audio
  • Level Editor
  • Physics: 2D (Box2D), 3D (Bullet3)
  • Profilers: Optick, Nsight Graphics
  • C++ 20
  • Networking
  • Pathfinding
  • Docs

Requirements

  • Ray tracing capable GPU (RTX 20 series or higher)
  • Visual Studio 2022 (full C++20 support)
  • Windows 10 or higher
  • Python 3.x and gdown package: pip install gdown

Limitations

  • Developed by one person for learning purposes
  • At a very early stage, unstable API
  • No source code at the moment
  • No documentation

Extensions

  • VK_KHR_16BIT_STORAGE_EXTENSION_NAME
  • VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME
  • VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME
  • VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME
  • VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME
  • VK_NVX_BINARY_IMPORT_EXTENSION_NAME
  • VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME

Debug builds

  • VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME
  • VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME

Download SDK

  1. Install Vulkan SDK
  2. Clone the repository: git clone https://github.com/Floritte/SmolEngine-SDK
  3. Run scripts/download_sdk.bat to download SDK installer
  4. Run editor/SmolEngine-Editor.exe

The Sponza scene is located in the tests folder.