Physics 2D
Trailer
I made this engine in my final HND year at ESAT Valencia for the graphics programming subject. Its main features are the following:
- Multithreaded
-
Lights
- Directional
- Spot
- Point
-
Shadows - 4 shadows per entity from Directional or Spot lights
- Blur
- Inversion
- Gray scale
- Color Sharpen
- Edge detection
- Log - with spdlog in the console
- Editor - Using ImGui
- Entity Inspector - Property modifier for each entity
- Physics 2D - with Box2D
- Scene management
- Scene hierarchy
- Pools - allocation and management of memory
- Scripting - Lua
- Scripting - C++
- FPS clock - using sokol_time
- Multithread - using px_schd
- Model conversion to our own CFasset type and obj loader using Assimp
- Materials
- Material instance
- Texture loading
- C# Scripting
- DirectX 12 integration
-
Physically Based Rendering techniques:
- Material pipeline (PBS, Metallic/Roughness workflow)
- Image Based Lighting (Radiance and Irradiance environment mapping)
- Atmospheric Scattering (Rayleigh and Mie Scattering)
-
Postprocessing Pipeline:
- Screen Space Ambient Occlusion (SSAO)
- Light Scattering (God Rays)
- Fast Approximate Anti-Aliasing (FXAA)
- Lens Distortion (with Grain, Vignette, Color Aberration)
- Tonemapping and multiple one-pass filters
- Sound integration (OpenAL)
- Physics integration (Nvidia PhysX)
This Engine is currently en development, adding new features and rendering technics.
Goals: