Hi!
I’m making floating islands for my game, therefore, I have big chunks of landscape masked out using the visibility mask system. I’m also using RVT, mostly to blend the meshes I use on the border with the landscape.
(Landscape visible part highlighted, Mesh on the right is sampling RVT content written by “invisible landscape”)
As you can see on the screen, the RVT sample works even in areas where the landscape is masked out. Not too far-fetched considering I do not “branch off” the “Runtime Virtual Texture Output” node when the landscape visibility mask value is 0. But this makes me wonder whether:
- scenario 1: the whole landscape is writing to the RVT, masked or not, which performance-wise would be bad in my use case (I would render a lot of invisible pixels)
- scenario 2: there is something else going on that makes it so that only the pixels used by the mesh sampling the RVT are computed.
I read some replies on another post about the RVT being a cache of instruction more than a cache of pixels, which makes me think this could scenario 2. I also did some stress tests which leaned more towards that hypothesis (GPU Virtual Texture cost didn’t show up until adding Mesh sampling the RVT). The thing is… I couldn’t find any content explaining the algorithm used in RVT so I was wondering if anyone had a better understanding of what is happening under the hood, or can direct me to relevant content to read on the topic.
Thanks!