Citrus
Citrus copied to clipboard
High performance, Direct3D 11 based 3D renderer.
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).
Street Art scene
Street Art scene + 0.5x Blur
Lighting looking
Wireframe looking
Fog effect looking