This is a small demo for learning GAMES101
, GAMES202
and OpenGL
. All rendering operations are completed on the CPU using C++, so it's cross-platform.
glm
is used as the math library, and OpenGL is used to show rendered results.
I will improve it if I have spare time:)
git clone https://github.com/andrewg42/SoftRenderer
cd SoftRenderer
cmake -Bbuild
cmake --build build -j8
build/main
Basic
- ImGui panel
- arcball camera
- image reader
- model reader
- reversed-z
Rendering
-
cube map
-
Lighting Model
- Blinn-Phong
- PBR
-
Anti-Aliasing
- MSAA
- FXAA
- TAA
-
Shadow
-
shadow mapping
-
PCSS
-
-
Ambient Occlusion
- SSAO
glfw and glad: for showing the result dynamically.
glm: for basic math operation.
imgui: for configure panel.
stb: for reading textures.
OBJ-Loader: for reading .obj file.