我有问题想知道是否有人能帮上忙..。我有一个反应扩散模拟着色器(计算在计算机着色器),我想尝试在虚拟现实,在浏览器.因此,基于https://threejs.org/examples/?q=vr#webxr_vr_ballshooter (输入VR)和https://threejs.org/examples/webgl_gpgpu_birds.html (用于计算),我用我的纹理编写了一个小应用程序,并在着色器上计算它。
奇怪的结果:着色器正在工作,我可以进入虚拟现实。但是当我进入VR时,纹理是不稳定的:当我从某些角度观看时,它会变黑。没有问题的移动相机时,在虚拟现实,纹理是一致的,但它可以突然变成黑色时,在虚拟现实。作为测试,我已经将应用程序/着色器的计算减少到了最低限度,但结果是一样的:在VR中,纹理在某个角度上变黑,在GPGPU上计算。
我使用火狐+ WebXR API模拟器(扩展来测试没有耳机的VR应用程序),但问题在Chrome和/或Oculus上是一样的。
您可以在这里尝试测试应用程序:https://nicofolio.bitbucket.io/06_rd_VR_vrBug_simplified/只需旋转耳机(查找) 10度,或向前移动一点,以看到纹理变黑。如果你知道如何解决这个问题,请告诉我!最后,我将检查webXR库,以了解它们如何处理摄像机,但也许有人可以帮助/了解这一问题(并将节省我在周围修补的时间)..。
干杯!
发布于 2022-06-01 21:14:46
您应该在计算之前禁用xr:
  const xrEnabled = renderer.xr.enabled
  renderer.xr.enabled = false
  gpu.compute()
  renderer.xr.enabled = xrEnabledhttps://stackoverflow.com/questions/68618662
复制相似问题