branchsbox/vr-multiview-instancingcancel
19 Commits over 0 Days - ∞cph!
Push water shader object with multiview support, drop multiview hack on it
Always skip BaseViewModel.UpdateAllPostCamera when in VR, avoids a circular dependency that was consuming a chunk of frametime because scenesystem abs transforms were locked.
Ideally games shouldn't be making view models in VR either though.
Global.IsRunningInVR is only true if the game is started in VR mode, instead of if SteamVR is running
Fix water refraction on VR
Adjust pixelinput.hlsl to be contractually correct in Domain/Hull shaders
Fix glass refraction shader on VR and lower internal resolutions
Add SetWellKnownRenderTargetSize to scenesystem to arbitrarily change RTSIZE of an internal scratch render target
Add SCENE_RTSIZE_VRFRAMEBUFFER and make it adjust to multiview size, avoids allocating 8K render target for framebuffer fetches on VR
Fix UI blurs and framebuffer fetches on VR
Fix water refraction on lower internal resolution modes
Fix VR spectator view with multiview instancing
hmdDisplayName for Quest 2 is "Quest2" without spaces
Render less on Oculus HMDs using stencil meshes to reduce frametime, for some reason they've never been exposed via OpenVR so hard code ones dumped with libovr.
* Rift CV1 renders 14.07% less area
* Rift S renders 11.26% less area
* Quest renders 5.69% less area
* Quest 2 renders 9.13% less area
Do software clipping for tesselated water on VR
Don't do GS culling on multiview instancing for foliage
Fix water tesselation on VR and fix water on VR
Compiled addon shaders with multiview fixed
Core shaders with multiview and fixed instance strides for transforms
Fix low perfomance on vr_depth_submit with multiview instancing
Remove unused variable for setting instance buffer scale - we don't use it anymore
Don't do shadows to viewmodel if we're on VR
Remove setting convar that doesn't exist if VR on oculus
InstanceStride is 1 in our transform refactor, adjust multiview instance ID on common vs code to fix flicker on multiview instancing
Core shaders with multiview instancing support
Enable Multiview Instancing on code
Add instance stride to shader too for multiview instancing
Fix transform instance id in multiview cables shader
Simplify render pipeline by removing dead code for rendering world sessions to textures, we use the view system directly when rendering to texture
Strip multi-gpu support to simplify our rendering pipeline further in preparation for single-pass VR rendering
Reenable multiview instancing on shader - Here be dragons