Skip to content

Build a GV for the LPV #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
DethRaid opened this issue Mar 31, 2023 · 0 comments
Open

Build a GV for the LPV #1

DethRaid opened this issue Mar 31, 2023 · 0 comments
Assignees

Comments

@DethRaid
Copy link
Owner

DethRaid commented Mar 31, 2023

We need to create a GV for the LPV. There's a few ideas on how to do this

One idea is to build a 3D rasterizer in compute shaders. This has some advantages. A major one is that we have ful control over the rasterization pipeline and can easily implement conservative rasterization. I've already implemented this and found that it takes about 8 ms per frame on my RTX 2080 Super. I'd like to get that down to 1 ms

Another idea is to implement the original GV from the cascades LPVs paper. We can use the player's depth buffer from last frame and the RSM's depth buffer, and inject them into the appropriate volumes with SH. This will probably work alright. I'm worried about light leaking from occluded surfaces, but we'll see

A third idea is to build a 3D GV for each mesh offline, and add it to the per-cascade GV at runtime. This avoids the high runtime cost of voxelization, while still giving us full control over the rasterization pipeline.

@DethRaid DethRaid self-assigned this Mar 31, 2023
@DethRaid DethRaid converted this from a draft issue Mar 31, 2023
@DethRaid DethRaid moved this from In Progress to Done in Light Propagation Volume Apr 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

1 participant