choi303 / Citrus

High performance, Direct3D 11 based 3D renderer.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

citrus_logo11

Citrus

Citrus is 3D renderer using Direct3D 11 - C++14! Citrus only working on Windows 7+ for now :)

To Do List

  • Global Illumination
  • Volumetric Lighting
  • Planar Reflections

Current Features

  • Blinn-Phong Lighting
  • 3D Model Loader
  • Environment Mapping
  • Normal & Parallax Mapping
  • Shadow Mapping
  • PBR Support
  • SSR
  • Ambient Occlusion
  • Hardware Tessellation
  • Particle System
  • HDR Lighting (Tone mapping, Bloom)
  • Filters (Blur, Depth, Fog, Fire)
  • Anti Aliasing (MSAA, FXAA)
  • GUI Support (Dear ImGui <3)
  • Save System

Inputs

As you can see in the diagram, input can be found on update function of app class. You can change the inputs to whatever you want just change the char characters on update function.

if (keyboard.KeyIsPressed('W'))
{
	//move forward when pressed W
	gfx.cam3D.AdjustPosition(gfx.cam3D.GetForwardVector() * cameraSpeed * deltaTime);
}
  //You can change 'W' to 'Up Arrow' button
if (keyboard.KeyIsPressed(VK_UP)) 
{
	//move forward when pressed Up Arrow (VK_UP)
	gfx.cam3D.AdjustPosition(gfx.cam3D.GetForwardVector() * cameraSpeed * deltaTime);
}

You can reach all virtual key codes on microsoft site.

  • 'W-A-S-D' for movement
  • 'Left Shift' to 2x sprint
  • 'F' for to 1.5x sprint
  • 'Escape' to quit.
  • 'H' to hide UI.
  • 'V' to show UI.
  • Hold 'RMB' (Right Mouse Button) to turn camera.

Gallery

PBR render (model made by Andrew Maximov). Debug Screenshot 2021 10 02 - 23 15 13 88

Street Art scene Debug Screenshot 2021 08 15 - 22 23 08 30

Street Art scene + 0.5x Blur Debug Screenshot 2021 08 15 - 22 23 29 61

Lighting looking Debug Screenshot 2021 06 18 - 22 16 56 67

Wireframe looking Debug Screenshot 2021 06 18 - 22 20 13 65

Fog effect looking Debug Screenshot 2021 06 18 - 22 21 18 96

About

High performance, Direct3D 11 based 3D renderer.

License:MIT License


Languages

Language:C++ 85.7%Language:C 12.1%Language:HLSL 2.2%