Scene Renderer starts as a group project of Computer Graphics Course in Tongji University.
It is a renderer based on modern opengl, focusing on natural and in-door scene rendering. It also contains a path-tracing offline renderer, but currently these two are still separated.
- Physically based skies
- Volumetric cloud
- PCSS soft shadows
- PBR Material (only isotropic is supported in deferred pipeline)
- isotropic
- anisotropic
- clear coat
- approx of sss (gdc 2011: fast approximation)
- Reflective shadow maps
- Realtime Ocean
- Procedural Terrain
- quad tree lod powered by GPU driven pipeline (GDC 2018)
- Deferred Pipeline
- SSAO
- IBL
- simple grass implementation based on gpu instancing.
- auto exposure
- multi thread model loading
- asset loading from json files
- gameobject-component structure
- gltf scene loading
- improve datashader storage buffer + uniform buffer
- use compute shader to accelerate computation
- quad tree traversal & mesh generatioin in procedural terrain
- IFFT in ocean surface generation
- Transmission map & sky-view lut computation in sky rendering
- basic shapes: sphere, triangle, rectangle
- simple materials : lambertian, dieletric, medium
- BVH
- importance sampling (material & light)
- multi-thread rendering on cpu
- pbr material
- gltf scene loading
- [ ]
use w a s d
to move, use e q
to move up and down, hold shift
to accelerate.
hold mouse right button
to look around.
- assimp 5.0.1
- opengl32.lib
- glfw3
- IrrXML
- yaml-cpp