Search Issue Tracker
Feature Request
Votes
0
Found in
6000.0.14f1
Issue ID
UUM-78157
Regression
No
Shader does not use full-screen color with Single Pass Instanced Render Mode
Reproduction steps:
1. Open the attached project "ReproProj"
2. Open the “/Assets/Scenes/SampleScene.unity” Scene
3. In MockHMD settings, select Render Mode as “Single Pass Instanced” (Edit > Project Settings > MockHMD)
4. Enter the Play Mode
5. Observe the Game view
Expected result: The Scene appears the same as with “Multi Pass”
Actual result: The Scene appears grey
Reproducible with: 2023.1.0a19, 6000.0.14f1
Not reproducible with: 2021.3.42f1, 2022.3.42f1, 2023.1.0a18
Reproducible on:
Windows Platform Play Mode (VLNQA00379, Oculus (Quest 2), Android 10, CPU: Snapdragon XR2, GPU: Adreno (TM) 650)
Windows Standalone Player (VLNQA00379, Oculus (Quest 2), Android 10, CPU: Snapdragon XR2, GPU: Adreno (TM) 650)
Not reproducible on:
Android Platform Play Mode
Android Player (VLNQA00379, Oculus (Quest 2), Android 10, CPU: Snapdragon XR2, GPU: Adreno (TM) 650)
Testing environment: Windows 10 Enterprise 21H2
Not reproducible on: No other environment tested
Notes:
- Reproducible with OpenXR and Oculus XR
- Not reproducible with “Multi Pass” Rendering Mode
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Profiler - Taking you to the wrong section when using 'show'
- Draw Renderers custom pass doesn't work with SSGI
- WebCamTexture does not set the requested resolution when used in WebGL
- Editor default Stylesheet/Matching Selector buttons in Debugger don't do anything
- Graphics.DrawMeshNow stops rendering Render Texture after a few frames when viewed in the Player
Resolution Note:
In short, shader graph currently does not support XR macro based textures.
In XR, there are two modes that are togglable: multipass and singlepass.
Multipass requires tex2D and singlepass required tex2Darray.
In the SRP shader code, we currently use shader macro Textre2D_X to handle it. It essentially would expand to tex2d or tex2dArray based on the shader keyword. Shader graph currently does not support the node to toggle between them.
Work arounds are not great:
1. Change the material accordingly if possible (ie. single pass implementation with tex2d, and multi-pass impl with tex2darray)
2. Write shader code with XR shader macro Texture2D_X with proper URP/HDRP shader include. That macro will automatically handle the tex2d vs tex2darray based on the active shader keywords.
I have converted this to a feture request to Shader Graph area.