Skip to content

A DirextX11 Graphics Engine that I wrote in order to learn Computer Graphics as part of my Dragons Lake Render Internship

Notifications You must be signed in to change notification settings

Adeon18/LRNEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LRNEngine

Description

This is my LRNEngine(LeaRNEngine) that I created in order to learn Compute Graphics and Rendering techniques as a part of my Dragons Lake Render Internship. The engine uses the DirectX11 graphics API.

Requirements

Everything already comes with the engine.

  • DirectX11
  • assimp
  • DirectXTex
  • DirectXMath
  • spdlog
  • imgui

Instalation

Download Repo with all the submodules.

git clone https://github.com/Adeon18/LRNEngine.git --recurse-submodules

You can manually connect assimp to be built with the engine, or(recommended) install assimp via vcpkg.

And you're done!

Functionality

The engine implements the following rendering techniques:

  • Camera, use LMB to rotate it and WASD, Space Left Ctrl to move
  • Object dragging - RMB on model to drag it along the plane, parallel to camera
  • Instanced Rendering
  • Tesselation
  • Model loading via assimp
  • Debug normal and vireframe visualization via Geometry Shader
  • Directional Lights, Point Lights
  • Flashlight - press F to attach/deattach
  • HDR and Aces Tonemapping
  • PBR and IBL(Cubemaps are precomputed, to compute them yourself enable BAKE_CUBEMAPS in include/config.hpp
  • NVidia FXAA 3.11
  • Deferred Rendering
  • Physically Based Bloom
  • Decals that attach to models, press G to cast a decal at mouse pointer
  • Model Spawn, press N to spawn a model in front of camera
  • CPU particles, press H to spawn a smoke emitter that can be dragged with a mouse
  • Model Destruction with GPU particles with lighting and screen space collision, press Del to destroy a model
  • Imgui menu that can help dynamically configure a lot of the graphics and logic
  • Logging with the help of a spdlog library

Demo

v1.mp4
v2.mp4
v3.mp4

1

1

1

About

A DirextX11 Graphics Engine that I wrote in order to learn Computer Graphics as part of my Dragons Lake Render Internship

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published