Conversation
…en SSR is enabled.
… fix most things. Tweak and tune per pass.
…robe reflections.
…ce. Also some improvements to the binary search to better handle underflows.
|
Non-planar mirrors are broken after commit b18e63f To repro, simply run latest SLVP build and stand before any current mirrors in SL (they almost all use probes with Z-size > 0.02m: IMHO this size should be made configurable too). Here is a video I made, which also demonstrates issues with the CameraAngle not being properly taken into account by mirrors (*) with the water probe looking especially bad for all CameraAngle values above 1.0: Note that for this video, I used an experimental Linux build of my viewer (with commits up to b18e63f implemented), because I also added to it a setting to force all mirrors as planar (easing the demonstration), but I get the exact same results with the latest SLVP build under Windows. (*) This was already the case before the changes in SLVP: the mirrors mips selection is wrong, as demonstrates the fact that increasing the CameraAngle and then zooming back on mirror to get the same FOV, you get a much sharper mirror reflection: with proper mips selection it should be possible to get sharp mirrors without having to use ludicrous 2048x2048 mirror probes: 1024x1024 should be more than enough, saving about 250MB of VRAM per mirror probe (500MB in total, now that we have two probes in SLVP) in the process ! |
Breaks tonemapping on water.
Add PBR Specular Support for SLVP
|
Not quite: commit a55949c does fix the non-rendering non-planar probes, but it is still broken in the sense that it renders a magnified reflection. Here is what I'm seeing in my experimental build with the new commit; note that I implemented a configurable probe Z size limit to flag (non-water) probes as planar or not (*): when inferior or equal to this limit, the mirror probe is considered planar. (*) < 0.02 was too small: almost all mirrors in SL could be made planar (since they are indeed flat mirrors) but since the mirror probe object must enclose the surface of the mirror object, almost everyone is using a probe larger than 0.0199 (even for a flat mirror usually being 0.01 thick), like 0.05 (such as the mirror I use for my testing and seen in the above snapshots). Making this limit configurable also allows to disable (non-water) planar mirrors entirely (by setting the limit to 0 or less), or to turn every single mirror into a planar one (by setting the limit to 64 or more). |
|
We also need some VRAM usage optimization for planar hero probes: since they only use face 0 in a cube map, the 5 other cube map faces are allocated for no purpose whatsoever, and given how ludicrously large the hero probes need to be (2Kx2K) to avoid blurry mirror reflections (due to bad mips selection, see my comments above), that's about 200MB of VRAM going to waste... |
|
@vldevel Part of the plan (when I have a moment) is to add another texture array just for mirrors. Though, this is going to depend on specific platform capabilities (read: Apple's limping along OpenGL implementation) if we can get the extra sampler in the shaders. There have been problems before about this - especially in PBR's development cycle where we would bust the sampler budget in the shaders. If that doesn't work, then I'm likely to just repurpose the other faces of the cube map to better utilize what we're setting up here. It's a cost you always pay for, but at least it's a predictable cost here. In theory you'd think 16 is more than enough for us, but well. Turns out we have quite a few uniforms and samplers in the main sun + atmospherics deferred pass. |
That's an euphemism, considering Apple stopped all OpenGL maintenance over 7 years ago... :-D I'd advocate for excluding macOS from planar mirrors rendering, if it means Windows and Linux can enjoy "low" VRAM budget planar probes. |
|
No. |


relnotes:
Visual Polish Alpha
Welcome to the visual polish alpha! In this viewer, we have various visual polish features we're working on that we're collecting community feedback on. Stay tuned for a complete list!
New Features