My most noteable features in the project are:
Recursive Stencil Buffer Portals
For this project I was mostly responsible for the non-Euclidean recursive portals.
The hardest part was getting it polished for VR and the culling optimizations needed to keep the game running smooth.
- Recursion/stencil buffer
- Scriptable rendering pipeline
- fighting with unity VR driver preference
- Modifying tools
- Writing debug tools
- Usage of third-party tools
- Performance portals w/ recursion
Optimization/Recursive Stencil Buffer Portals:
To achieve this, I needed to cull my portals efficiently. Which is why I added a software based Occlusion Culling technique from intel: "Masked Software Occlusion Culling".
- worst case complexity O(2^n).
- amorized complexity. looking at levels (add picture example) it can be improved by looking at the layout
- after research, bf3, doom2016, intel's looked promising
- C# integration via C-API.
- Decision to place workload on level design because team composition
- Narrowing the portal frustum planes
- communicated low-performance demanding art.
Working with a big cross-disciplinary team was quite a challenge because we often interperet things in different ways
It was hard to work with VR and customize the rendering pipeline. Even the new ScriptableRenderingPipeline is quite locked down. The two things that blocked me most were the locked down culling API, and locked down default Unity matrices in VR (view/projection matrix etc.).
And to get a working toolchain for level design.