Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

XROcclusionMesh.shader 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. Shader "Hidden/Universal Render Pipeline/XR/XROcclusionMesh"
  2. {
  3. HLSLINCLUDE
  4. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
  5. #pragma multi_compile _ XR_OCCLUSION_MESH_COMBINED
  6. // Not all platforms properly support SV_RenderTargetArrayIndex
  7. #if defined(SHADER_API_D3D11) || defined(SHADER_API_VULKAN) || defined(SHADER_API_GLCORE) || defined(SHADER_API_GLES3) || defined(SHADER_API_PSSL)
  8. #if defined (UNITY_STEREO_MULTIVIEW_ENABLED)
  9. #define USE_XR_OCCLUSION_MESH_COMBINED_MULTIVIEW XR_OCCLUSION_MESH_COMBINED
  10. #else
  11. #define USE_XR_OCCLUSION_MESH_COMBINED_RT_ARRAY_INDEX XR_OCCLUSION_MESH_COMBINED
  12. #endif
  13. #endif
  14. struct Attributes
  15. {
  16. float4 vertex : POSITION;
  17. };
  18. struct Varyings
  19. {
  20. float4 vertex : SV_POSITION;
  21. #if USE_XR_OCCLUSION_MESH_COMBINED_RT_ARRAY_INDEX
  22. uint rtArrayIndex : SV_RenderTargetArrayIndex;
  23. #endif
  24. };
  25. Varyings Vert(Attributes input)
  26. {
  27. Varyings output;
  28. output.vertex = mul(UNITY_MATRIX_M, float4(input.vertex.xy * float2(2.0f, -2.0f) + float2(-1.0f, 1.0f), UNITY_NEAR_CLIP_VALUE, 1.0f));
  29. #if USE_XR_OCCLUSION_MESH_COMBINED_MULTIVIEW
  30. if (unity_StereoEyeIndex != uint(input.vertex.z))
  31. {
  32. output.vertex = float4(0.0f, 0.0f, 0.0f, 0.0f);
  33. }
  34. #elif USE_XR_OCCLUSION_MESH_COMBINED_RT_ARRAY_INDEX
  35. output.rtArrayIndex = input.vertex.z;
  36. #endif
  37. return output;
  38. }
  39. float4 Frag() : SV_Target
  40. {
  41. return (0.0f).xxxx;
  42. }
  43. ENDHLSL
  44. SubShader
  45. {
  46. Tags{ "RenderPipeline" = "UniversalPipeline" }
  47. Pass
  48. {
  49. ZWrite On ZTest Always Blend Off Cull Off
  50. ColorMask 0
  51. HLSLPROGRAM
  52. #pragma vertex Vert
  53. #pragma fragment Frag
  54. ENDHLSL
  55. }
  56. }
  57. Fallback Off
  58. }