[Solved] Water2 has an opposing horizontal offsets in each eye in VR. Shader issue or browser projectionMatrix issue possibly?

The left eye will offset reflections to the left and the right eye will do the same for the right. Video below just shows the left eye as that’s how the Quest records things out of the box

Wondering if this is due to the original shader not being compatible with VR or if it’s possible there’s some issue with the cameras’ projectionMatrix?

Strangely this happens on the Quest, but not when using the emulator in stereoscopic mode on my laptop

I verified using Reflector by itself is fine in VR, but using Reflector in Water2 has the issues

@Mugen87 I hope you don’t mind me tagging you as I think you are the author of this shader and I’m unfortunately a little overwhelmed trying to understand it all :sweat_smile:

1 Like

I would be open to offering a bounty on getting this fixed if that helps entice anyone. $50?

I’m not applying for the bounty, I’m just suggesting to post this offer to the Jobs category. It may attract more attention there.

Thanks for the recommendation! And thank you @prisoner849 for doing the change

Also bumping this up to $100

Ended up taking this course on shaders by SimonDev and figured it out. Well, not in a necessarily clean fashion. I believe the issue was due to the textureMatrix in Reflection.js using the virtual camera while when trying to reproject it in Water2 we were using the textureMatrix as determined by the actual cameras (each eye). I just ended up making it so the textureMatrix in Reflection could be accessible and then added a uniform referencing that in the Water2 shader. It was quick and dirty, but if I find time I’ll try to get a pull request out with a cleaner solution in the coming weeks

Closing the bounty on this

4 Likes

Nice that you found a workaround!
I’ve tried this myself in my WebXR project, however I didn’t have to do a special work-around to fix the horizontal offset issue:

Interesting! So the Water2 shader doesn’t have any issues for you. Do you mind letting me know which headset you’re using? Is it a quest 1, 2, pro?

I’m using a Quest 2. There doesn’t seem to be an eye offset issue for the mirrored rendering.

This topic was automatically closed after 22 days. New replies are no longer allowed.