Guest User

SoftMask issue on Shader-Graph

a guest
Sep 4th, 2020
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.01 KB | None | 0 0
  1. Shader "Unlit Master"
  2. {
  3. Properties
  4. {
  5. }
  6. SubShader
  7. {
  8. Tags
  9. {
  10. "RenderPipeline"="UniversalPipeline"
  11. "RenderType"="Opaque"
  12. "Queue"="Geometry+0"
  13. }
  14.  
  15. Pass
  16. {
  17. Name "Pass"
  18. Tags
  19. {
  20. // LightMode: <None>
  21. }
  22.  
  23. // Render State
  24. Blend One Zero, One Zero
  25. Cull Back
  26. ZTest LEqual
  27. ZWrite On
  28. // ColorMask: <None>
  29.  
  30.  
  31. HLSLPROGRAM
  32. #pragma vertex vert
  33. #pragma fragment frag
  34.  
  35. // Debug
  36. // <None>
  37.  
  38. // --------------------------------------------------
  39. // Pass
  40.  
  41. // Pragmas
  42. #pragma prefer_hlslcc gles
  43. #pragma exclude_renderers d3d11_9x
  44. #pragma target 2.0
  45. #pragma multi_compile_fog
  46. #pragma multi_compile_instancing
  47.  
  48. // Keywords
  49. #pragma multi_compile _ LIGHTMAP_ON
  50. #pragma multi_compile _ DIRLIGHTMAP_COMBINED
  51. #pragma shader_feature _ _SAMPLE_GI
  52. // GraphKeywords: <None>
  53.  
  54. // Defines
  55. #define ATTRIBUTES_NEED_NORMAL
  56. #define ATTRIBUTES_NEED_TANGENT
  57. #define SHADERPASS_UNLIT
  58.  
  59. // Includes
  60. #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
  61. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
  62. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
  63. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
  64. #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/ShaderVariablesFunctions.hlsl"
  65.  
  66. // Soft Mask Support
  67. //#include "Assets/Imports/SoftMask/Shaders/SoftMask.cginc"
  68.  
  69. // --------------------------------------------------
  70. // Graph
  71.  
  72. // Graph Properties
  73. CBUFFER_START(UnityPerMaterial)
  74. CBUFFER_END
  75.  
  76. // Graph Functions
  77. // GraphFunctions: <None>
  78.  
  79. // Graph Vertex
  80. // GraphVertex: <None>
  81.  
  82. // Graph Pixel
  83. struct SurfaceDescriptionInputs
  84. {
  85. };
  86.  
  87. struct SurfaceDescription
  88. {
  89. float3 Color;
  90. float Alpha;
  91. float AlphaClipThreshold;
  92. };
  93.  
  94. SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
  95. {
  96. SurfaceDescription surface = (SurfaceDescription)0;
  97. surface.Color = IsGammaSpace() ? float3(0.7353569, 0.7353569, 0.7353569) : SRGBToLinear(float3(0.7353569, 0.7353569, 0.7353569));
  98. surface.Alpha = 1;
  99. surface.AlphaClipThreshold = 0;
  100. return surface;
  101. }
  102.  
  103. // --------------------------------------------------
  104. // Structs and Packing
  105.  
  106. // Generated Type: Attributes
  107. struct Attributes
  108. {
  109. float3 positionOS : POSITION;
  110. float3 normalOS : NORMAL;
  111. float4 tangentOS : TANGENT;
  112. #if UNITY_ANY_INSTANCING_ENABLED
  113. uint instanceID : INSTANCEID_SEMANTIC;
  114. #endif
  115. };
  116.  
  117. // Generated Type: Varyings
  118. struct Varyings
  119. {
  120. float4 positionCS : SV_POSITION;
  121. #if UNITY_ANY_INSTANCING_ENABLED
  122. uint instanceID : CUSTOM_INSTANCE_ID;
  123. #endif
  124. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  125. uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
  126. #endif
  127. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  128. uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
  129. #endif
  130. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  131. FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
  132. #endif
  133. };
  134.  
  135. // Generated Type: PackedVaryings
  136. struct PackedVaryings
  137. {
  138. float4 positionCS : SV_POSITION;
  139. #if UNITY_ANY_INSTANCING_ENABLED
  140. uint instanceID : CUSTOM_INSTANCE_ID;
  141. #endif
  142. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  143. uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
  144. #endif
  145. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  146. uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
  147. #endif
  148. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  149. FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
  150. #endif
  151. };
  152.  
  153. // Packed Type: Varyings
  154. PackedVaryings PackVaryings(Varyings input)
  155. {
  156. PackedVaryings output = (PackedVaryings)0;
  157. output.positionCS = input.positionCS;
  158. #if UNITY_ANY_INSTANCING_ENABLED
  159. output.instanceID = input.instanceID;
  160. #endif
  161. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  162. output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
  163. #endif
  164. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  165. output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
  166. #endif
  167. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  168. output.cullFace = input.cullFace;
  169. #endif
  170. return output;
  171. }
  172.  
  173. // Unpacked Type: Varyings
  174. Varyings UnpackVaryings(PackedVaryings input)
  175. {
  176. Varyings output = (Varyings)0;
  177. output.positionCS = input.positionCS;
  178. #if UNITY_ANY_INSTANCING_ENABLED
  179. output.instanceID = input.instanceID;
  180. #endif
  181. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  182. output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
  183. #endif
  184. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  185. output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
  186. #endif
  187. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  188. output.cullFace = input.cullFace;
  189. #endif
  190. return output;
  191. }
  192.  
  193. // --------------------------------------------------
  194. // Build Graph Inputs
  195.  
  196. SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
  197. {
  198. SurfaceDescriptionInputs output;
  199. ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
  200.  
  201.  
  202.  
  203.  
  204.  
  205. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  206. #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
  207. #else
  208. #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
  209. #endif
  210. #undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
  211.  
  212. return output;
  213. }
  214.  
  215.  
  216. // --------------------------------------------------
  217. // Main
  218.  
  219. #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
  220. #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/UnlitPass.hlsl"
  221.  
  222. ENDHLSL
  223. }
  224.  
  225. Pass
  226. {
  227. Name "ShadowCaster"
  228. Tags
  229. {
  230. "LightMode" = "ShadowCaster"
  231. }
  232.  
  233. // Render State
  234. Blend One Zero, One Zero
  235. Cull Back
  236. ZTest LEqual
  237. ZWrite On
  238. // ColorMask: <None>
  239.  
  240.  
  241. HLSLPROGRAM
  242. #pragma vertex vert
  243. #pragma fragment frag
  244.  
  245. // Debug
  246. // <None>
  247.  
  248. // --------------------------------------------------
  249. // Pass
  250.  
  251. // Pragmas
  252. #pragma prefer_hlslcc gles
  253. #pragma exclude_renderers d3d11_9x
  254. #pragma target 2.0
  255. #pragma multi_compile_instancing
  256.  
  257. // Keywords
  258. #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  259. // GraphKeywords: <None>
  260.  
  261. // Defines
  262. #define ATTRIBUTES_NEED_NORMAL
  263. #define ATTRIBUTES_NEED_TANGENT
  264. #define SHADERPASS_SHADOWCASTER
  265.  
  266. // Includes
  267. #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
  268. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
  269. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
  270. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
  271. #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/ShaderVariablesFunctions.hlsl"
  272.  
  273. // --------------------------------------------------
  274. // Graph
  275.  
  276. // Graph Properties
  277. CBUFFER_START(UnityPerMaterial)
  278. CBUFFER_END
  279.  
  280. // Graph Functions
  281. // GraphFunctions: <None>
  282.  
  283. // Graph Vertex
  284. // GraphVertex: <None>
  285.  
  286. // Graph Pixel
  287. struct SurfaceDescriptionInputs
  288. {
  289. };
  290.  
  291. struct SurfaceDescription
  292. {
  293. float Alpha;
  294. float AlphaClipThreshold;
  295. };
  296.  
  297. SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
  298. {
  299. SurfaceDescription surface = (SurfaceDescription)0;
  300. surface.Alpha = 1;
  301. surface.AlphaClipThreshold = 0;
  302. return surface;
  303. }
  304.  
  305. // --------------------------------------------------
  306. // Structs and Packing
  307.  
  308. // Generated Type: Attributes
  309. struct Attributes
  310. {
  311. float3 positionOS : POSITION;
  312. float3 normalOS : NORMAL;
  313. float4 tangentOS : TANGENT;
  314. #if UNITY_ANY_INSTANCING_ENABLED
  315. uint instanceID : INSTANCEID_SEMANTIC;
  316. #endif
  317. };
  318.  
  319. // Generated Type: Varyings
  320. struct Varyings
  321. {
  322. float4 positionCS : SV_POSITION;
  323. #if UNITY_ANY_INSTANCING_ENABLED
  324. uint instanceID : CUSTOM_INSTANCE_ID;
  325. #endif
  326. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  327. uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
  328. #endif
  329. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  330. uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
  331. #endif
  332. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  333. FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
  334. #endif
  335. };
  336.  
  337. // Generated Type: PackedVaryings
  338. struct PackedVaryings
  339. {
  340. float4 positionCS : SV_POSITION;
  341. #if UNITY_ANY_INSTANCING_ENABLED
  342. uint instanceID : CUSTOM_INSTANCE_ID;
  343. #endif
  344. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  345. uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
  346. #endif
  347. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  348. uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
  349. #endif
  350. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  351. FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
  352. #endif
  353. };
  354.  
  355. // Packed Type: Varyings
  356. PackedVaryings PackVaryings(Varyings input)
  357. {
  358. PackedVaryings output = (PackedVaryings)0;
  359. output.positionCS = input.positionCS;
  360. #if UNITY_ANY_INSTANCING_ENABLED
  361. output.instanceID = input.instanceID;
  362. #endif
  363. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  364. output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
  365. #endif
  366. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  367. output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
  368. #endif
  369. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  370. output.cullFace = input.cullFace;
  371. #endif
  372. return output;
  373. }
  374.  
  375. // Unpacked Type: Varyings
  376. Varyings UnpackVaryings(PackedVaryings input)
  377. {
  378. Varyings output = (Varyings)0;
  379. output.positionCS = input.positionCS;
  380. #if UNITY_ANY_INSTANCING_ENABLED
  381. output.instanceID = input.instanceID;
  382. #endif
  383. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  384. output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
  385. #endif
  386. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  387. output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
  388. #endif
  389. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  390. output.cullFace = input.cullFace;
  391. #endif
  392. return output;
  393. }
  394.  
  395. // --------------------------------------------------
  396. // Build Graph Inputs
  397.  
  398. SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
  399. {
  400. SurfaceDescriptionInputs output;
  401. ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
  402.  
  403.  
  404.  
  405.  
  406.  
  407. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  408. #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
  409. #else
  410. #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
  411. #endif
  412. #undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
  413.  
  414. return output;
  415. }
  416.  
  417.  
  418. // --------------------------------------------------
  419. // Main
  420.  
  421. #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
  422. #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShadowCasterPass.hlsl"
  423.  
  424. ENDHLSL
  425. }
  426.  
  427. Pass
  428. {
  429. Name "DepthOnly"
  430. Tags
  431. {
  432. "LightMode" = "DepthOnly"
  433. }
  434.  
  435. // Render State
  436. Blend One Zero, One Zero
  437. Cull Back
  438. ZTest LEqual
  439. ZWrite On
  440. ColorMask 0
  441.  
  442.  
  443. HLSLPROGRAM
  444. #pragma vertex vert
  445. #pragma fragment frag
  446.  
  447. // Debug
  448. // <None>
  449.  
  450. // --------------------------------------------------
  451. // Pass
  452.  
  453. // Pragmas
  454. #pragma prefer_hlslcc gles
  455. #pragma exclude_renderers d3d11_9x
  456. #pragma target 2.0
  457. #pragma multi_compile_instancing
  458.  
  459. // Keywords
  460. // PassKeywords: <None>
  461. // GraphKeywords: <None>
  462.  
  463. // Defines
  464. #define ATTRIBUTES_NEED_NORMAL
  465. #define ATTRIBUTES_NEED_TANGENT
  466. #define SHADERPASS_DEPTHONLY
  467.  
  468. // Includes
  469. #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
  470. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
  471. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
  472. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
  473. #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/ShaderVariablesFunctions.hlsl"
  474.  
  475. // --------------------------------------------------
  476. // Graph
  477.  
  478. // Graph Properties
  479. CBUFFER_START(UnityPerMaterial)
  480. CBUFFER_END
  481.  
  482. // Graph Functions
  483. // GraphFunctions: <None>
  484.  
  485. // Graph Vertex
  486. // GraphVertex: <None>
  487.  
  488. // Graph Pixel
  489. struct SurfaceDescriptionInputs
  490. {
  491. };
  492.  
  493. struct SurfaceDescription
  494. {
  495. float Alpha;
  496. float AlphaClipThreshold;
  497. };
  498.  
  499. SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
  500. {
  501. SurfaceDescription surface = (SurfaceDescription)0;
  502. surface.Alpha = 1;
  503. surface.AlphaClipThreshold = 0;
  504. return surface;
  505. }
  506.  
  507. // --------------------------------------------------
  508. // Structs and Packing
  509.  
  510. // Generated Type: Attributes
  511. struct Attributes
  512. {
  513. float3 positionOS : POSITION;
  514. float3 normalOS : NORMAL;
  515. float4 tangentOS : TANGENT;
  516. #if UNITY_ANY_INSTANCING_ENABLED
  517. uint instanceID : INSTANCEID_SEMANTIC;
  518. #endif
  519. };
  520.  
  521. // Generated Type: Varyings
  522. struct Varyings
  523. {
  524. float4 positionCS : SV_POSITION;
  525. #if UNITY_ANY_INSTANCING_ENABLED
  526. uint instanceID : CUSTOM_INSTANCE_ID;
  527. #endif
  528. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  529. uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
  530. #endif
  531. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  532. uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
  533. #endif
  534. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  535. FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
  536. #endif
  537. };
  538.  
  539. // Generated Type: PackedVaryings
  540. struct PackedVaryings
  541. {
  542. float4 positionCS : SV_POSITION;
  543. #if UNITY_ANY_INSTANCING_ENABLED
  544. uint instanceID : CUSTOM_INSTANCE_ID;
  545. #endif
  546. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  547. uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
  548. #endif
  549. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  550. uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
  551. #endif
  552. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  553. FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
  554. #endif
  555. };
  556.  
  557. // Packed Type: Varyings
  558. PackedVaryings PackVaryings(Varyings input)
  559. {
  560. PackedVaryings output = (PackedVaryings)0;
  561. output.positionCS = input.positionCS;
  562. #if UNITY_ANY_INSTANCING_ENABLED
  563. output.instanceID = input.instanceID;
  564. #endif
  565. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  566. output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
  567. #endif
  568. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  569. output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
  570. #endif
  571. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  572. output.cullFace = input.cullFace;
  573. #endif
  574. return output;
  575. }
  576.  
  577. // Unpacked Type: Varyings
  578. Varyings UnpackVaryings(PackedVaryings input)
  579. {
  580. Varyings output = (Varyings)0;
  581. output.positionCS = input.positionCS;
  582. #if UNITY_ANY_INSTANCING_ENABLED
  583. output.instanceID = input.instanceID;
  584. #endif
  585. #if (defined(UNITY_STEREO_INSTANCING_ENABLED))
  586. output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
  587. #endif
  588. #if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
  589. output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
  590. #endif
  591. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  592. output.cullFace = input.cullFace;
  593. #endif
  594. return output;
  595. }
  596.  
  597. // --------------------------------------------------
  598. // Build Graph Inputs
  599.  
  600. SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
  601. {
  602. SurfaceDescriptionInputs output;
  603. ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
  604.  
  605.  
  606.  
  607.  
  608.  
  609. #if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
  610. #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
  611. #else
  612. #define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
  613. #endif
  614. #undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
  615.  
  616. return output;
  617. }
  618.  
  619.  
  620. // --------------------------------------------------
  621. // Main
  622.  
  623. #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
  624. #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthOnlyPass.hlsl"
  625.  
  626. ENDHLSL
  627. }
  628.  
  629. }
  630. FallBack "Hidden/Shader Graph/FallbackError"
  631. }
Add Comment
Please, Sign In to add comment