CORRECTION: GRABPASS DOES NOT WORK ON A SUPER POWERFUL PC EITHER.
Hi
this has been reported numerous times and “fixed” and then broken again in different Unity versions.
grabpass in single pass rendering will return a gray texture. If you search the forum you’ll find ton of posts different years with its issue tracker and “fixed” and broken again on unity updates. This basically breaks every single water effect just to name a few.
just as an example this thread
It doesn’t have to be on Android. This problem is also present if you render it on a PC using VR single pass rendering.
Performance is fine. And I’m correcting the title, Grabpass doesn’t even work on PC using single pass rendering. I’ve just tested with my Oculus Rift and an nvidia 3080. I think performance there shouldn’t be the problem.
My ticket was closed as a won’t fix, because it seems it can be made to work (at least on pc, you’d have to test on Android). Here’s the modified version (Unity sent back to me) of my test shader. The original problem seems to be that the grab pass texture needs to be declared as a tex2D array in the shader using it rather than a tex2d, along with adjustments to to the sampling coordinates.
I have to schedule in time to swap my command buffer based workaround out with a grabpass based version to test it. But I figure it might be useful to someone else before i get to that, it’s low priority for me. The test shader is simple grayscale shader.