Files
VR-GAME/Library/Artifacts/54/542e0af92ad7522699401fbc0296ffd5

12543 lines
879 KiB
Plaintext
Raw Normal View History

2026-04-25 12:12:07 +07:00
<01> <0A><><01>P0.0.0<00><><EFBFBD><EFBFBD>r<00><><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD><6B><EFBFBD>K<EFBFBD><4B><EFBFBD><08><>F&<00>7<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00>E<00> <00><00><00>.<00><00>(a<00> <00><00><00>.<00><00><00><00>r<00> <00><00> <00>.<00>
<00>4<00>v<00> A<00><00> A.<00> A<00><00>]<00>A<00><00>K<00>h<00><><00> <00><00><00>.<00><00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00>Q<00>j<00>H<00>3<00><><EFBFBD><EFBFBD><EFBFBD><01><>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<40><00><00><00><00>Q<00>j<00><00>H<00>=<00><><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00>Q<00>j<00><00><00>P<00><><EFBFBD><EFBFBD>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> <00><00><00>!bj<00> "<00><00>#<00>.<00>$<00>p<00><00><><EFBFBD><EFBFBD>%<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>&<00><00><00><00>'pj<00><><EFBFBD><EFBFBD><EFBFBD>(<00>H<00><><00><><EFBFBD><EFBFBD>)<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>*@<00><00><00>+Q<00>j<00>,<00><00><00><><EFBFBD><EFBFBD>-<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>.<00><00><00><00>/<00>j<00><><EFBFBD><EFBFBD><EFBFBD>0<00>H<00><><00><><EFBFBD><EFBFBD>1<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>2@ <00><00><00>3 Q<00>j<00>4<00><00><>5A<00><00><>6<00><00><>7<00><00><>8A<00><><EFBFBD><EFBFBD>9<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>:<00> <00><00><00>; j<00><><EFBFBD><EFBFBD><EFBFBD><<00>
H<00><><00><><EFBFBD><EFBFBD>=<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>>@ <00><00><00>? Q<00>j<00>@
<00><00><>AH<00><00><><EFBFBD><EFBFBD>B<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>C@ <00><00><00>D Q<00>j<00>EPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>outputNodeTypeNameassetDependenciesPPtr<$Object>MinimalCategoryDatacategoryDatascategoryNameGraphInputDatapropertyDatasreferenceNameisKeywordpropertyTypekeywordTypeisCompoundPropertySubPropertyDatasubPropertiestooltip0<00><><EFBFBD>Q4<12><>E4<45>1\OPSaͯ
77<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00>E<00> <00><00><00>.<00>&<00>/a<00> <00><00><00>.<00>&<00><00><00>r<00> <00><00> <00>.<00>&
<00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00> Q<00>j<00>DU<00><><EFBFBD><EFBFBD><00>bw<00><><EFBFBD><EFBFBD><00><00><00><><00><><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00>Q<00>j<00>H<00><><00><><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00>Q<00>j<00><00><00><><00><><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><00>H<00>j<00><><EFBFBD><EFBFBD><EFBFBD> <00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>!@
<00><00><00>"
Q<00>j<00>#<00><00><00>$<00><00><>%<00><00><>&<00><00><>'<00><00><>(<00><00><>)<00><00><><EFBFBD><EFBFBD>*<00>H<00><00><><EFBFBD><EFBFBD>+<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>,@ <00><00><00>- Q<00>j<00>.<00><00>-/<00><00>6<00><><EFBFBD><EFBFBD>0<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>1<00><00><00><00>2Cj<00><><EFBFBD><EFBFBD><EFBFBD>3<00><00><00>W<00><><EFBFBD><EFBFBD>4<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>5<00><00><00><00>6`j<00><><EFBFBD><EFBFBD><EFBFBD>7<00><00><00>o<00><><EFBFBD><EFBFBD>8<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>9<00>
<00><00><00>:
<00>j<00><><EFBFBD><EFBFBD><EFBFBD>;<00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>=@ <00><00><00>> Q<00>j<00>? <00><00>
<00>@<00><00><00>A}<00><00><><EFBFBD><EFBFBD>B<00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD>C<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>D@ <00><00><00>E Q<00>j<00>F <00><00><00><><EFBFBD><EFBFBD>G<00>
<00><00><00><><EFBFBD><EFBFBD>H<00> <00><00><>I H<00><><00><><EFBFBD><EFBFBD>J<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>K@ <00><00><00>L Q<00>j<00>M
<00><00><00><><EFBFBD><EFBFBD>N<00> <00><00><>O H<00><><00><><EFBFBD><EFBFBD>P<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>Q@ <00><00><00>R Q<00>j<00>S
<00><00><00><><EFBFBD><EFBFBD>T<00> <00><00><>U H<00><><00><><EFBFBD><EFBFBD>V<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>W@ <00><00><00>X Q<00>j<00>Y
<00><00><><EFBFBD><EFBFBD>Z<00> <00><00><>[ H<00><><00><><EFBFBD><EFBFBD>\<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>]@ <00><00><00>^ Q<00>j<00>_
<00><00><><EFBFBD><EFBFBD>`<00> <00><00><>a H<00><><00><><EFBFBD><EFBFBD>b<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>c@ <00><00><00>d Q<00>j<00>e
<00><00><><EFBFBD><EFBFBD>f<00> <00><00><>g H<00><><00><><EFBFBD><EFBFBD>h<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>i@ <00><00><00>j Q<00>j<00>k
<00>*<00><><EFBFBD><EFBFBD>l<00> <00><00><>m H<00><><00><><EFBFBD><EFBFBD>n<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>o@ <00><00><00>p Q<00>j<00>q <00>2<00><><EFBFBD><EFBFBD>r<00>
<00><00><00><><EFBFBD><EFBFBD>s<00> <00><00><>t H<00><><00><><EFBFBD><EFBFBD>u<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>v@ <00><00><00>w Q<00>j<00>x
<00><00><00><><EFBFBD><EFBFBD>y<00> <00><00><>z H<00><><00><><EFBFBD><EFBFBD>{<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>|@ <00><00><00>} Q<00>j<00>~
<00><00><00><><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00>*<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00>;<00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00>*<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00>D<00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00>*<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00>M<00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><00> <00><00><> H<00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> Q<00>j<00>
<00><00><><EFBFBD><EFBFBD><00> <00><00><> H<00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00>
 Q<00>j<00> 
<00><00><><EFBFBD><EFBFBD> <00> <00><00><>  H<00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> Q<00>j<00>
<00><00><><EFBFBD><EFBFBD><00> <00><00><> H<00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> Q<00>j<00>
<00>*<00><><EFBFBD><EFBFBD><00> <00><00><> H<00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> Q<00>j<00> <00>V<00><><EFBFBD><EFBFBD><00>
<00><00><00><><EFBFBD><EFBFBD><00> <00><00><>  H<00><><00><><EFBFBD><EFBFBD>!<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>"@ <00><00><00># Q<00>j<00>$
<00><00><00><><EFBFBD><EFBFBD>%<00> <00><00><>& H<00><><00><><EFBFBD><EFBFBD>'<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>(@ <00><00><00>) Q<00>j<00>*
<00><00><00><><EFBFBD><EFBFBD>+<00> <00><00><>, H<00><><00><><EFBFBD><EFBFBD>-<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>.@ <00><00><00>/ Q<00>j<00>0
<00><00><><EFBFBD><EFBFBD>1<00> <00><00><>2 H<00><><00><><EFBFBD><EFBFBD>3<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>4@ <00><00><00>5 Q<00>j<00>6
<00><00><><EFBFBD><EFBFBD>7<00> <00><00><>8 H<00><><00><><EFBFBD><EFBFBD>9<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>:@ <00><00><00>; Q<00>j<00><
<00><00><><EFBFBD><EFBFBD>=<00> <00><00><>> H<00><><00><><EFBFBD><EFBFBD>?<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@@ <00><00><00>A Q<00>j<00>B
<00>*<00><><EFBFBD><EFBFBD>C<00> <00><00><>D H<00><><00><><EFBFBD><EFBFBD>E<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>F@ <00><00><00>G Q<00>j<00>H <00>_<00><><EFBFBD><EFBFBD>I<00>
<00><00><00><><EFBFBD><EFBFBD>J<00> <00><00><>K H<00><><00><><EFBFBD><EFBFBD>L<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>M@ <00><00><00>N Q<00>j<00>O
<00><00><00><><EFBFBD><EFBFBD>P<00> <00><00><>Q H<00><><00><><EFBFBD><EFBFBD>R<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>S@ <00><00><00>T Q<00>j<00>U
<00><00><00><><EFBFBD><EFBFBD>V<00> <00><00><>W H<00><><00><><EFBFBD><EFBFBD>X<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>Y@ <00><00><00>Z Q<00>j<00>[
<00><00><><EFBFBD><EFBFBD>\<00> <00><00><>] H<00><><00><><EFBFBD><EFBFBD>^<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>_@ <00><00><00>` Q<00>j<00>a
<00><00><><EFBFBD><EFBFBD>b<00> <00><00><>c H<00><><00><><EFBFBD><EFBFBD>d<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>e@ <00><00><00>f Q<00>j<00>g
<00><00><><EFBFBD><EFBFBD>h<00> <00><00><>i H<00><><00><><EFBFBD><EFBFBD>j<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>k@ <00><00><00>l Q<00>j<00>m
<00>*<00><><EFBFBD><EFBFBD>n<00> <00><00><>o H<00><><00><><EFBFBD><EFBFBD>p<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>q@ <00><00><00>r Q<00>j<00>s <00>h<00><><EFBFBD><EFBFBD>t<00>
<00><00><00><><EFBFBD><EFBFBD>u<00> <00><00><>v H<00><><00><><EFBFBD><EFBFBD>w<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>x@ <00><00><00>y Q<00>j<00>z
<00><00><00><><EFBFBD><EFBFBD>{<00> <00><00><>| H<00><><00><><EFBFBD><EFBFBD>}<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>~@ <00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00>*<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> L<00>q<00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><><00>
H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><><00>
H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><><00>
H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><><00>
H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><><00>
H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><><00>
H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><><00>
H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><><00>
H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> <00><00><><EFBFBD><EFBFBD><EFBFBD><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> Q<00>j<00> <00><00><><EFBFBD><EFBFBD><00>
<00><00><00><><EFBFBD><EFBFBD><00> <00><00><> H<00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> Q<00>j<00>
<00><00><00><><EFBFBD><EFBFBD> <00> <00><00><>
 H<00><><00><><EFBFBD><EFBFBD> <00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00>  Q<00>j<00>
<00><00><00><><EFBFBD><EFBFBD><00> <00><00><> H<00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> Q<00>j<00>
<00><00><00><><EFBFBD><EFBFBD><00> <00><00><> H<00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> Q<00>j<00> <00><00><><EFBFBD><EFBFBD><00>
<00><00><>
H<00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> Q<00>j<00>  <00>.<00><><EFBFBD><EFBFBD>!<00>
<00><00><>"
H<00><><00><><EFBFBD><EFBFBD>#<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>$@ <00><00><00>% Q<00>j<00>& <00>?<00><><EFBFBD><EFBFBD>'<00>
<00><00><>(
H<00><><00><><EFBFBD><EFBFBD>)<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>*@ <00><00><00>+ Q<00>j<00>, <00>J<00><><EFBFBD><EFBFBD>-<00>
<00><00><>.
H<00><><00><><EFBFBD><EFBFBD>/<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>0@ <00><00><00>1 Q<00>j<00>2 <00>S<00><><EFBFBD><EFBFBD>3<00>
<00><00><>4
H<00><><00><><EFBFBD><EFBFBD>5<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>6@ <00><00><00>7 Q<00>j<00>8 <00>Z<00><><EFBFBD><EFBFBD>9<00>
<00><00><>:
H<00><><00><><EFBFBD><EFBFBD>;<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><@ <00><00><00>= Q<00>j<00>> e<00><00><><EFBFBD><EFBFBD>?<00>
<00><00><00><><EFBFBD><EFBFBD>@<00> <00><00><>A H<00><><00><><EFBFBD><EFBFBD>B<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>C@ <00><00><00>D Q<00>j<00>E
<00><00><00><><EFBFBD><EFBFBD>F<00> <00><00><>G H<00><><00><><EFBFBD><EFBFBD>H<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>I@ <00><00><00>J Q<00>j<00>K
<00><00><00><><EFBFBD><EFBFBD>L<00> <00><00><>M H<00><><00><><EFBFBD><EFBFBD>N<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>O@ <00><00><00>P Q<00>j<00>Q
<00><00><00><><EFBFBD><EFBFBD>R<00> <00><00><>S H<00><><00><><EFBFBD><EFBFBD>T<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>U@ <00><00><00>V Q<00>j<00>W
H<00><><00><><EFBFBD><EFBFBD>X<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>Y@ <00><00><00>Z Q<00>j<00>[ <00><00><>\ <00><00><>] <00><00><00><><EFBFBD><EFBFBD>^<00>
<00><00><><00><><EFBFBD><EFBFBD>_<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>`<00> <00><00><00>a <00>j<00><><EFBFBD><EFBFBD><EFBFBD>b<00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD>c<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>d@<00><00><00>eQ<00>j<00>f H<00>
<00><><EFBFBD><EFBFBD><EFBFBD>g<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>h@<00><00><00>iQ<00>j<00>j <00><00><>k L<00><>l@<00><00><>m<00><00><00><><EFBFBD><EFBFBD>n<00> <00><00><><00><><EFBFBD><EFBFBD>o<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>p<00> <00><00><00>q j<00><><EFBFBD><EFBFBD><EFBFBD>r<00> <00><00>!s -@<00><><EFBFBD><EFBFBD>t<00> <00><00>@<00><><EFBFBD><EFBFBD>u<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>v@<00><00><00>wKj<00>x5<00>]y5<00>dz <00><00>k{ <00><00>w<00><><EFBFBD><EFBFBD>|<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>}@<00><00><00>~<00><00>j<00> 5<00><><00> 5<00><><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@ <00><00>><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>Nj<00><00><00><00><00><><00><00><00><><00><00><00><00>_<00>L<00>n<00>5<00><00>@ <00><00>}<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><><00><00><00><00><00><00><00><><00><00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><00>L<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00>5<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Aj<00> <00><00><00><><00><00><00><><00><00><00><00>N<00> <00><00>^<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>ij<00><00><00><00>z<00><00><00><><00> .<00><><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00>!<00><00><00>w<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00><00>.<00><><00>5<00><><00>@ <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> <00><00>j<00> <00><00><00><><EFBFBD><EFBFBD><00>
<00><00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> <00>j<00><00> <00><00><> <00><00><><00> <00><00>  5<00><00>
 5<00> @
<00><00><00><><EFBFBD><EFBFBD> <00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> <00> <00><00><00> #j<00><00> <00><00><> <00><00><><00> <00><00> 5<00><00> 5<00>3@
<00><00>><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> Nj<00><00> <00><00><> <00><00><><00> <00><00>_ L<00>n 5<00>@
<00><00>}<00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00>  <00>j<00> ! <00><00><>" <00><00><><00># <00><00>$
<00><00><><00><><EFBFBD><EFBFBD>%<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>&<00> <00><00><00>' <00>j<00><><EFBFBD><EFBFBD><EFBFBD>(<00> <00><00><>) <00><00><00><><EFBFBD><EFBFBD>*<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>+<00><00><00><00>,#j<00>-<00><00><00><>.<00><00><><00>/<00><00>05<00><00>15<00>32@ <00><00><><00><><EFBFBD><EFBFBD>3<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>4<00><00><00><00>5<00>j<00>6<00><00><00><>7<00><00><><00>8<00><00>95<00><00>:5<00>;@ <00><00><><00><><EFBFBD><EFBFBD><<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>=<00><00><00><00>><00>j<00><><EFBFBD><EFBFBD><EFBFBD>?<00><00><00><>@<00><00><><00>A<00><00>B<00><00><>C<00><00><><00><><EFBFBD><EFBFBD>D<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>E<00><00><00><00>F<00>j<00>G<00><00><00><>H<00><00><><00>I<00><00>J5<00><00>K5<00>L@<00><00><><00><><EFBFBD><EFBFBD>M<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>N<00><00><00><00>O#j<00>P<00><00><00><>Q<00><00><><00>R<00><00>S5<00><00>T5<00>3U@ <00><00>V L<00>W@
<00><00><00><><EFBFBD><EFBFBD>X<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>Y@ <00><00><00>Z <00>j<00> [ <00><00><>\ <00><00><><00>] <00><00>^
<00><00>5<00><><EFBFBD><EFBFBD>_<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>`@ <00><00><00>a Aj<00> b <00><00><>c <00><00><><00>d <00><00>Ne
<00><00>^<00><><EFBFBD><EFBFBD>f<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>g@ <00><00><00>h ij<00>i <00><00>zj <00><00><>k <00><00><><00><><EFBFBD><EFBFBD>l<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>m@ <00><00><00>n <00><00>j<00>o<00><00><><EFBFBD><EFBFBD>p<00> <00><00><><00><><EFBFBD><EFBFBD>q<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>r<00> <00><00><00>s j<00><><EFBFBD><EFBFBD><EFBFBD>t<00> <00><00>!u -@<00><><EFBFBD><EFBFBD>v<00> <00><00>@<00><><EFBFBD><EFBFBD>w<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>x@<00><00><00>yKj<00>z5<00>]{5<00>d| <00><00>k} <00><00>w<00><><EFBFBD><EFBFBD>~<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00><00> 5<00><><00> 5<00><><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@ <00><00>><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>Nj<00><00><00><00><00><><00><00><00><><00><00><00><00>_<00>L<00>n<00>5<00><00>@ <00><00>}<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><><00><00><00><00><00><00><00><><00><00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><00>L<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00>5<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Aj<00> <00><00><00><><00><00><00><><00><00><00><00>N<00> <00><00>^<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>ij<00><00><00><00>z<00><00><00><><00> .<00><><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00>!<00><00><00>w<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00><00>.<00><><00>5<00><><00>@ <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> <00><00>j<00> <00><00><00><><EFBFBD><EFBFBD><00>
<00><00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> <00>j<00><00> <00><00><>  <00><00><><00>
 <00><00>  5<00><00>  5<00> @
<00><00><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> #j<00><00> <00><00><> <00><00><><00> <00><00> 5<00><00> 5<00>3@
<00><00>><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> Nj<00><00> <00><00><> <00><00><><00> <00><00>_ L<00>n 5<00>@
<00><00>}<00><><EFBFBD><EFBFBD> <00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>!@ <00><00><00>" <00>j<00> # <00><00><>$ <00><00><><00>% <00><00>&
<00><00><><00><><EFBFBD><EFBFBD>'<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>(<00> <00><00><00>) <00>j<00><><EFBFBD><EFBFBD><EFBFBD>*<00> <00><00><>+ <00><00><00><><EFBFBD><EFBFBD>,<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>-<00><00><00><00>.#j<00>/<00><00><00><>0<00><00><><00>1<00><00>25<00><00>35<00>34@ <00><00><><00><><EFBFBD><EFBFBD>5<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>6<00><00><00><00>7<00>j<00>8<00><00><00><>9<00><00><><00>:<00><00>;5<00><00><5<00>=@ <00><00><><00><><EFBFBD><EFBFBD>><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>?<00><00><00><00>@<00>j<00><><EFBFBD><EFBFBD><EFBFBD>A<00><00><00><>B<00><00><><00>C<00><00>D<00><00><>E<00><00><><00><><EFBFBD><EFBFBD>F<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>G<00><00><00><00>H<00>j<00>I<00><00><00><>J<00><00><><00>K<00><00>L5<00><00>M5<00>N@<00><00><><00><><EFBFBD><EFBFBD>O<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>P<00><00><00><00>Q#j<00>R<00><00><00><>S<00><00><><00>T<00><00>U5<00><00>V5<00>3W@ <00><00>X L<00>Y@
<00><00><00><><EFBFBD><EFBFBD>Z<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>[@ <00><00><00>\ <00>j<00> ] <00><00><>^ <00><00><><00>_ <00><00>`
<00><00>5<00><><EFBFBD><EFBFBD>a<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>b@ <00><00><00>c Aj<00> d <00><00><>e <00><00><><00>f <00><00>Ng
<00><00>^<00><><EFBFBD><EFBFBD>h<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>i@ <00><00><00>j ij<00>k <00><00>zl <00><00><>m <00><00><><00><><EFBFBD><EFBFBD>n<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>o@ <00><00><00>p <00><00>j<00>q<00>$<00><><EFBFBD><EFBFBD>r<00> <00><00><><00><><EFBFBD><EFBFBD>s<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>t<00> <00><00><00>u j<00><><EFBFBD><EFBFBD><EFBFBD>v<00> <00><00>!w -@<00><><EFBFBD><EFBFBD>x<00> <00><00>@<00><><EFBFBD><EFBFBD>y<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>z@<00><00><00>{Kj<00>|5<00>]}5<00>d~ <00><00>k <00><00>w<00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00><00> 5<00><><00> 5<00><><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@ <00><00>><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>Nj<00><00><00><00><00><><00><00><00><><00><00><00><00>_<00>L<00>n<00>5<00><00>@ <00><00>}<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><><00><00><00><00><00><00><00><><00><00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><00>L<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00>5<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Aj<00> <00><00><00><><00><00><00><><00><00><00><00>N<00> <00><00>^<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>ij<00><00><00><00>z<00><00><00><><00> .<00><><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00>!<00><00><00>w<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00><00>.<00><><00>5<00><><00>@ <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> <00><00>j<00> <00><00><00><><EFBFBD><EFBFBD><00>
<00><00><><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00>  <00>j<00>
<00> <00><00><>  <00><00><><00>  <00><00>  5<00><00> 5<00>@
<00><00><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> #j<00><00> <00><00><> <00><00><><00> <00><00> 5<00><00> 5<00>3@
<00><00>><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> Nj<00><00> <00><00><> <00><00><><00> <00><00>_ L<00>n  5<00>!@
<00><00>}<00><><EFBFBD><EFBFBD>"<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>#@ <00><00><00>$ <00>j<00> % <00><00><>& <00><00><><00>' <00><00>(
<00><00><><00><><EFBFBD><EFBFBD>)<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>*<00> <00><00><00>+ <00>j<00><><EFBFBD><EFBFBD><EFBFBD>,<00> <00><00><>- <00><00><00><><EFBFBD><EFBFBD>.<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>/<00><00><00><00>0#j<00>1<00><00><00><>2<00><00><><00>3<00><00>45<00><00>55<00>36@ <00><00><><00><><EFBFBD><EFBFBD>7<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>8<00><00><00><00>9<00>j<00>:<00><00><00><>;<00><00><><00><<00><00>=5<00><00>>5<00>?@ <00><00><><00><><EFBFBD><EFBFBD>@<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>A<00><00><00><00>B<00>j<00><><EFBFBD><EFBFBD><EFBFBD>C<00><00><00><>D<00><00><><00>E<00><00>F<00><00><>G<00><00><><00><><EFBFBD><EFBFBD>H<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>I<00><00><00><00>J<00>j<00>K<00><00><00><>L<00><00><><00>M<00><00>N5<00><00>O5<00>P@<00><00><><00><><EFBFBD><EFBFBD>Q<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>R<00><00><00><00>S#j<00>T<00><00><00><>U<00><00><><00>V<00><00>W5<00><00>X5<00>3Y@ <00><00>Z L<00>[@
<00><00><00><><EFBFBD><EFBFBD>\<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>]@ <00><00><00>^ <00>j<00> _ <00><00><>` <00><00><><00>a <00><00>b
<00><00>5<00><><EFBFBD><EFBFBD>c<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>d@ <00><00><00>e Aj<00> f <00><00><>g <00><00><><00>h <00><00>Ni
<00><00>^<00><><EFBFBD><EFBFBD>j<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>k@ <00><00><00>l ij<00>m <00><00>zn <00><00><>o <00><00><><00><><EFBFBD><EFBFBD>p<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>q@ <00><00><00>r <00><00>j<00>s<00>1<00><><EFBFBD><EFBFBD>t<00> <00><00><><00><><EFBFBD><EFBFBD>u<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>v<00> <00><00><00>w j<00><><EFBFBD><EFBFBD><EFBFBD>x<00> <00><00>!y -@<00><><EFBFBD><EFBFBD>z<00> <00><00>@<00><><EFBFBD><EFBFBD>{<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>|@<00><00><00>}Kj<00>~5<00>]5<00>d<00> <00><00>k<00> <00><00>w<00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00><00> 5<00><><00> 5<00><><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@ <00><00>><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>Nj<00><00><00><00><00><><00><00><00><><00><00><00><00>_<00>L<00>n<00>5<00><00>@ <00><00>}<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><><00><00><00><00><00><00><00><><00><00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><00>L<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00>5<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Aj<00> <00><00><00><><00><00><00><><00><00><00><00>N<00> <00><00>^<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>ij<00><00><00><00>z<00><00><00><><00> .<00><><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00>!<00><00><00>w<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00><00>.<00><><00>5<00><>@ <00><00><><00><><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> <00><00>j<00> <00><00><00><><EFBFBD><EFBFBD><00>
<00><00><><00><><EFBFBD><EFBFBD> <00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
<00> <00><00><00>  <00>j<00> <00> <00><00><>  <00><00><><00> <00><00> 5<00><00> 5<00>@
<00><00><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> #j<00><00> <00><00><> <00><00><><00> <00><00> 5<00><00> 5<00>3@
<00><00>><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> Nj<00><00> <00><00><> <00><00><><00>  <00><00>_! L<00>n" 5<00>#@
<00><00>}<00><><EFBFBD><EFBFBD>$<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>%@ <00><00><00>& <00>j<00> ' <00><00><>( <00><00><><00>) <00><00>*
<00><00><><00><><EFBFBD><EFBFBD>+<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>,<00> <00><00><00>- <00>j<00><><EFBFBD><EFBFBD><EFBFBD>.<00> <00><00><>/ <00><00><00><><EFBFBD><EFBFBD>0<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>1<00><00><00><00>2#j<00>3<00><00><00><>4<00><00><><00>5<00><00>65<00><00>75<00>38@ <00><00><><00><><EFBFBD><EFBFBD>9<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>:<00><00><00><00>;<00>j<00><<00><00><00><>=<00><00><><00>><00><00>?5<00><00>@5<00>A@ <00><00><><00><><EFBFBD><EFBFBD>B<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>C<00><00><00><00>D<00>j<00><><EFBFBD><EFBFBD><EFBFBD>E<00><00><00><>F<00><00><><00>G<00><00>H<00><00><>I<00><00><><00><><EFBFBD><EFBFBD>J<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>K<00><00><00><00>L<00>j<00>M<00><00><00><>N<00><00><><00>O<00><00>P5<00><00>Q5<00>R@<00><00><><00><><EFBFBD><EFBFBD>S<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>T<00><00><00><00>U#j<00>V<00><00><00><>W<00><00><><00>X<00><00>Y5<00><00>Z5<00>3[@ <00><00>\ L<00>]@
<00><00><00><><EFBFBD><EFBFBD>^<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>_@ <00><00><00>` <00>j<00> a <00><00><>b <00><00><><00>c <00><00>d
<00><00>5<00><><EFBFBD><EFBFBD>e<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>f@ <00><00><00>g Aj<00> h <00><00><>i <00><00><><00>j <00><00>Nk
<00><00>^<00><><EFBFBD><EFBFBD>l<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>m@ <00><00><00>n ij<00>o <00><00>zp <00><00><>q <00><00><><00><><EFBFBD><EFBFBD>r<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>s@ <00><00><00>t <00><00>j<00>u<00>:<00><><EFBFBD><EFBFBD>v<00> <00><00><><00><><EFBFBD><EFBFBD>w<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>x<00> <00><00><00>y j<00><><EFBFBD><EFBFBD><EFBFBD>z<00> <00><00>!{ -@<00><><EFBFBD><EFBFBD>|<00> <00><00>@<00><><EFBFBD><EFBFBD>}<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>~@<00><00><00>Kj<00><00>5<00>]<00>5<00>d<00> <00><00>k<00> <00><00>w<00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00><00> 5<00><><00> 5<00><><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@ <00><00>><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>Nj<00><00><00><00><00><><00><00><00><><00><00><00><00>_<00>L<00>n<00>5<00><00>@ <00><00>}<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><><00><00><00><00><00><00><00><><00><00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><00>L<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00>5<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Aj<00> <00><00><00><><00><00><00><><00><00><00><00>N<00> <00><00>^<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>ij<00><00><00><00>z<00><00><00><><00> .<00><><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00>!<00><00><00>w<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00>.<00><>5<00><>@ <00><00><><00><><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00> <00><00>j<00>  <00><00><00><><EFBFBD><EFBFBD>
<00>
<00><00><><00><><EFBFBD><EFBFBD> <00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> <00> <00><00><00>  <00>j<00><00> <00><00><> <00><00><><00> <00><00> 5<00><00> 5<00>@
<00><00><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> #j<00><00> <00><00><> <00><00><><00> <00><00> 5<00><00> 5<00>3@
<00><00>><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> Nj<00> <00> <00><00><>! <00><00><><00>" <00><00>_# L<00>n$ 5<00>%@
<00><00>}<00><><EFBFBD><EFBFBD>&<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>'@ <00><00><00>( <00>j<00> ) <00><00><>* <00><00><><00>+ <00><00>,
<00><00><><00><><EFBFBD><EFBFBD>-<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>.<00> <00><00><00>/ <00>j<00><><EFBFBD><EFBFBD><EFBFBD>0<00> <00><00><>1 <00><00><00><><EFBFBD><EFBFBD>2<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>3<00><00><00><00>4#j<00>5<00><00><00><>6<00><00><><00>7<00><00>85<00><00>95<00>3:@ <00><00><><00><><EFBFBD><EFBFBD>;<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><<00><00><00><00>=<00>j<00>><00><00><00><>?<00><00><><00>@<00><00>A5<00><00>B5<00>C@ <00><00><><00><><EFBFBD><EFBFBD>D<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>E<00><00><00><00>F<00>j<00><><EFBFBD><EFBFBD><EFBFBD>G<00><00><00><>H<00><00><><00>I<00><00>J<00><00><>K<00><00><><00><><EFBFBD><EFBFBD>L<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>M<00><00><00><00>N<00>j<00>O<00><00><00><>P<00><00><><00>Q<00><00>R5<00><00>S5<00>T@<00><00><><00><><EFBFBD><EFBFBD>U<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>V<00><00><00><00>W#j<00>X<00><00><00><>Y<00><00><><00>Z<00><00>[5<00><00>\5<00>3]@ <00><00>^ L<00>_@
<00><00><00><><EFBFBD><EFBFBD>`<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>a@ <00><00><00>b <00>j<00> c <00><00><>d <00><00><><00>e <00><00>f
<00><00>5<00><><EFBFBD><EFBFBD>g<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>h@ <00><00><00>i Aj<00> j <00><00><>k <00><00><><00>l <00><00>Nm
<00><00>^<00><><EFBFBD><EFBFBD>n<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>o@ <00><00><00>p ij<00>q <00><00>zr <00><00><>s <00><00><><00><><EFBFBD><EFBFBD>t<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>u@ <00><00><00>v <00><00>j<00>w<00>E<00><><EFBFBD><EFBFBD>x<00> <00><00><><00><><EFBFBD><EFBFBD>y<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>z<00> <00><00><00>{ j<00><><EFBFBD><EFBFBD><EFBFBD>|<00> <00><00>!} -@<00><><EFBFBD><EFBFBD>~<00> <00><00>@<00><><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Kj<00><00>5<00>]<00>5<00>d<00> <00><00>k<00> <00><00>w<00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00><00> 5<00><><00> 5<00><><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@ <00><00>><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>Nj<00><00><00><00><00><><00><00><00><><00><00><00><00>_<00>L<00>n<00>5<00><00>@ <00><00>}<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><00><00><><00><00><00><00><00><00><00><><00><00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00><00>@<00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>#j<00><00><00><00><00><><00><00><00><><00><00><00><00><00>5<00><00><00>5<00>3<00>@<00><00><00>L<00><00>@ <00><00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00> <00><00><00><><00><00><00><><00><00><00><00><00> <00><00>5<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Aj<00> <00><00><00><><00><00><00><><00><00><00><00>N<00> <00><00>^<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>ij<00><00><00><00>z<00><00><00><><00> .<00><><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00>!<00><00><00>w<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00>j<00>.<00><>5<00><>@ <00><00><><00><><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00>
 <00><00>j<00>  <00><00><00><><EFBFBD><EFBFBD> <00>
<00><00><><00><><EFBFBD><EFBFBD> <00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> <00>j<00><00> <00><00><> <00><00><><00> <00><00> 5<00><00> 5<00>@
<00><00><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00> #j<00><00> <00><00><> <00><00><><00> <00><00> 5<00><00> 5<00>3@
<00><00>><00><><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> <00> <00><00><00>! Nj<00>"<00> <00><00><># <00><00><><00>$ <00><00>_% L<00>n& 5<00>'@
<00><00>}<00><><EFBFBD><EFBFBD>(<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>)@ <00><00><00>* <00>j<00> + <00><00><>, <00><00><><00>- <00><00>.
<00><00><><00><><EFBFBD><EFBFBD>/<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>0<00> <00><00><00>1 <00>j<00><><EFBFBD><EFBFBD><EFBFBD>2<00> <00><00><>3 <00><00><00><><EFBFBD><EFBFBD>4<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>5<00><00><00><00>6#j<00>7<00><00><00><>8<00><00><><00>9<00><00>:5<00><00>;5<00>3<@ <00><00><><00><><EFBFBD><EFBFBD>=<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>><00><00><00><00>?<00>j<00>@<00><00><00><>A<00><00><><00>B<00><00>C5<00><00>D5<00>E@ <00><00><><00><><EFBFBD><EFBFBD>F<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>G<00><00><00><00>H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>I<00><00><00><>J<00><00><><00>K<00><00>L<00><00><>M<00><00><><00><><EFBFBD><EFBFBD>N<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>O<00><00><00><00>P<00>j<00>Q<00><00><00><>R<00><00><><00>S<00><00>T5<00><00>U5<00>V@<00><00><><00><><EFBFBD><EFBFBD>W<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>X<00><00><00><00>Y#j<00>Z<00><00><00><>[<00><00><><00>\<00><00>]5<00><00>^5<00>3_@ <00><00>` L<00>a@
<00><00><00><><EFBFBD><EFBFBD>b<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>c@ <00><00><00>d <00>j<00> e <00><00><>f <00><00><><00>g <00><00>h
<00><00>5<00><><EFBFBD><EFBFBD>i<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>j@ <00><00><00>k Aj<00> l <00><00><>m <00><00><><00>n <00><00>No
<00><00>^<00><><EFBFBD><EFBFBD>p<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>q@ <00><00><00>r ij<00>s <00><00>zt <00><00><>u <00><00><><00><><EFBFBD><EFBFBD>v<00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>w@ <00><00><00>x <00><00>j<00>yL<00>TzL<00>k{@H<00><><00><><EFBFBD><EFBFBD>|<00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>}@
<00><00><00>~
Q<00>j<00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@
<00><00><00><00>
Q<00>j<00><00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@
<00><00><00><00>
Q<00>j<00><00><00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00> H<00>
<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00><00><00><00><><EFBFBD><EFBFBD><EFBFBD><00> <00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> <00><00><00><00> <00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00> H<00><00><><EFBFBD><EFBFBD><EFBFBD><00> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00> 5<00> <00> H<00><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> 5<00>#<00><00><00><00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> H<00>
<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00><00><00><><00><00><00><00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00> H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> H<00><00><><EFBFBD><EFBFBD><EFBFBD><00>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@ <00><00><00><00> Q<00>j<00><00> 5<00> <00>H<00><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00>5<00>#<00><00><00>4<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00>H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00><00><00>C<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00><00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00>H<00>R<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00>H<00>e<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00><00><00>t<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00><00><00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00>H<00> <00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00>Q<00>j<00><00>L<00> <00>@<00><00>0 <00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00><00><00><00><00><00>j<00><00><00><00>: <00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00> <00><00>j<00> <00><00>B <00><><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> <00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00> <00><00>j<00>
<00><00>T <00><><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> <00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00> <00><00>j<00> <00><00>h <00><><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00> <00><00>j<00> <00><00>w <00><><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00> <00><00>j<00> <00><00>t<00><><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00> <00> j<00>  <00><00> <00>.<00>& <00><00><00><> <00><><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>! <00><00><00><00>" <00>j<00><><EFBFBD><EFBFBD><EFBFBD># <00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD>$ <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>% @<00><00><00>& Q<00>j<00>' <00><00>
<00> ( <00><00>) <00>.<00>&* <00>L<00><> + @<00><00><> <00><><EFBFBD><EFBFBD>, <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>- <01><00><00><00>. <00>j<00><><EFBFBD><EFBFBD><EFBFBD>/ <01>H<00><><00><><EFBFBD><EFBFBD><EFBFBD>0 <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>1 @<00><00><00>2 Q<00>j<00>3 <00><00>
<00> 4 <00><00>5 <00>.<00>&6 <00><00><> <00><><EFBFBD><EFBFBD>7 <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>8 <01><00><00><00>9 <00> j<00><><EFBFBD><EFBFBD><EFBFBD>: <01>H<00><> <00><><EFBFBD><EFBFBD>; <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>< @<00><00><00>= Q<00>j<00>> H<00><> <00><><EFBFBD><EFBFBD>? <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@ @<00><00><00>A Q<00>j<00>B H<00><> <00><><EFBFBD><EFBFBD>C <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>D @<00><00><00>E Q<00>j<00>F <00><00><> G <00><00>
H L<00>
I L<00>
J @$
:
<00><><EFBFBD><EFBFBD>K <01><00><00>H
<00><><EFBFBD><EFBFBD>L <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>M <01><00><00><00>N <00>j<00><><EFBFBD><EFBFBD><EFBFBD>O <01><00><00><><00>P S
<00><><EFBFBD><EFBFBD><EFBFBD>Q <01>H<00>a
<00><><EFBFBD><EFBFBD>R <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>S @<00><00><00>T Q<00>j<00>U H<00>h
<00><><EFBFBD><EFBFBD>V <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>W @<00><00><00>X Q<00>j<00>Y H<00>t
<00><><EFBFBD><EFBFBD>Z <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>[ @<00><00><00>\ Q<00>j<00>] <00><00><>
^ <00><00><>
_ <00><00><>
` <00><00><>
a <00><00><>
b <00><00><>
c <00><00><>
d <00><00><>
e <00><00><>
f <00><00><>
g <00><00><>
h <00><00> i <00><00> j <00><00> k <00><00>" l <00><00>+ m <00><00>5 n <00><00>? o <00><00>I p <00><00>S q <00><00>] r <00><00>g s <00><00><>
t <00><00><>
u <00><00><>
v <00><00><>
w <00><00><>
x <00><00><>
y <00><00> z <00><00> { <00><00> | <00><00>" } <00><00>+ ~ <00><00>5  <00><00>? <00> <00><00>I <00> <00><00>S <00> <00><00>] <00> L<00>r <00> L<00>~ <00> @<00><00><> <00> <00><00><> <00> <00><00><> <00> <00><00><> <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00><00> <00><00><> <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00><00> <00><00><> <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00><00> <00><00> <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00><00> <00><00> <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00><00> <00><00>- <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00><00> <00><00>C <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00><00> <00><00>Y <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00><00> <00><00>n <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00><00> <00><00><> <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00><00> <00><00><> <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00><00> <00><00><> <00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><00><00><00><00> <00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01>
<00><00><00><00> 
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @ <00><00><00><00>  Q<00>j<00>
<00><00><> <00><><EFBFBD><EFBFBD>
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
<01><00><00><00>
<00><00>j<00><><EFBFBD><EFBFBD><EFBFBD>
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
<01>
<00><00><00>

H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
@ <00><00><00>
 Q<00>j<00>
<00><00><> <00><><EFBFBD><EFBFBD>
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
<01><00><00><00>
<00><00>j<00><><EFBFBD><EFBFBD><EFBFBD>
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
<01>
<00><00><00>

H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
@ <00><00><00>
 Q<00>j<00>
<00><00><> <00><><EFBFBD><EFBFBD>
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
<01><00><00><00>
<00><00>j<00><><EFBFBD><EFBFBD><EFBFBD>
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
<01>
<00><00><00>

H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
@ <00><00><00>
 Q<00>j<00>
<00><00><> <00><><EFBFBD><EFBFBD>
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
<01><00><00><00>!
<00><00>j<00><><EFBFBD><EFBFBD><EFBFBD>"
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>#
<01>
<00><00><00>$

H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>%
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>&
@ <00><00><00>'
 Q<00>j<00>(
<00><00> <00><><EFBFBD><EFBFBD>)
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>*
<01><00><00><00>+
<00><00>j<00><><EFBFBD><EFBFBD><EFBFBD>,
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>-
<01>
<00><00><00>.

H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>/
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>0
@ <00><00><00>1
 Q<00>j<00>2
<00><00>% <00><><EFBFBD><EFBFBD>3
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>4
<01><00><00><00>5
<00><00>j<00><><EFBFBD><EFBFBD><EFBFBD>6
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>7
<01>
<00><00><00>8

H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>9
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>:
@ <00><00><00>;
 Q<00>j<00><
<00><00>8 <00><><EFBFBD><EFBFBD>=
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>>
<01><00><00><00>?
<00><00>j<00><><EFBFBD><EFBFBD><EFBFBD>@
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>A
<01>
<00><00><00>B

H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>C
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>D
@ <00><00><00>E
 Q<00>j<00>F
<00><00>K <00><><EFBFBD><EFBFBD>G
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>H
<01><00><00><00>I
<00><00>j<00><><EFBFBD><EFBFBD><EFBFBD>J
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>K
<01>
<00><00><00>L

H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>M
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>N
@ <00><00><00>O
 Q<00>j<00>P
<00><00>^ <00><><EFBFBD><EFBFBD>Q
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>R
<01><00><00><00>S
<00><00>j<00><><EFBFBD><EFBFBD><EFBFBD>T
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>U
<01>
<00><00><00>V

H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>W
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>X
@ <00><00><00>Y
 Q<00>j<00>Z
<00><00>q <00><><EFBFBD><EFBFBD>[
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>\
<01><00><00><00>]
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>^
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>_
@
<00><00><00>`

Q<00>j<00>a
<00><00><> <00><><EFBFBD><EFBFBD>b
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>c
<01><00><00><00>d
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>e
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>f
@
<00><00><00>g

Q<00>j<00>h
<00><00><> <00><><EFBFBD><EFBFBD>i
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>j
<01><00><00><00>k
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>l
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>m
@
<00><00><00>n

Q<00>j<00>o
<00><00><> <00><><EFBFBD><EFBFBD>p
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>q
<01><00><00><00>r
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>s
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>t
@
<00><00><00>u

Q<00>j<00>v
<00><00><> <00><><EFBFBD><EFBFBD>w
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>x
<01><00><00><00>y
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>z
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>{
@
<00><00><00>|

Q<00>j<00>}
<00><00><> <00><><EFBFBD><EFBFBD>~
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>
<01><00><00><00><00>
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@
<00><00><00><00>

Q<00>j<00><00>
<00><00><> <00><><EFBFBD><EFBFBD><EFBFBD>
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<01><00><00><00><00>
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@
<00><00><00><00>

Q<00>j<00><00>
<00><00><> <00><><EFBFBD><EFBFBD><EFBFBD>
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<01><00><00><00><00>
H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<01> 1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@
<00><00><00><00>

Q<00>j<00><00>
.<00><00>
<00><00><00><><EFBFBD><EFBFBD><EFBFBD>
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<01><00><00><00><00>
.j<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<01> H<00>@<00><><EFBFBD><EFBFBD><EFBFBD>
<01>
1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@ <00><00><00><00>
 Q<00>j<00><00>
 .<00>L<00>
H<00>Y<00><><EFBFBD><EFBFBD><EFBFBD>
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@<00><00><00><00>
Q<00>j<00><00>
H<00>s<00><><EFBFBD><EFBFBD><EFBFBD>
<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@<00><00><00><00>
Q<00>j<00><00>
<00><00><><00>
L<00><><00>
L<00><><00>
L<00><><00>
@<00><00><><00>
<00><00><><00>
<00><00><00>
<00><00>
<00>
<00><00><00>
.<00><00>
ShaderPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>SerializedShaderm_ParsedFormSerializedPropertiesm_PropInfom_PropsSerializedPropertym_Descriptionm_Attributesm_Flagsm_DefValue[0]m_DefValue[1]m_DefValue[2]m_DefValue[3]SerializedTexturePropertym_DefTexturem_DefaultNamem_TexDimm_SubShadersSerializedSubShaderm_PassesSerializedPassm_NameIndicesSerializedShaderStatem_StateSerializedShaderRTBlendStatertBlend0SerializedShaderFloatValuesrcBlendvalnamedestBlendsrcBlendAlphadestBlendAlphablendOpblendOpAlphacolMaskrtBlend1rtBlend2rtBlend3rtBlend4rtBlend5rtBlend6rtBlend7rtSeparateBlendzClipzTestzWritecullingconservativeoffsetFactoroffsetUnitsalphaToMaskSerializedStencilOpstencilOppassfailzFailcompstencilOpFrontstencilOpBackstencilReadMaskstencilWriteMaskstencilReffogStartfogEndfogDensitySerializedShaderVectorValuefogColorxyzwfogModegpuProgramIDSerializedTagMapm_Tagstagsm_LODlightingm_ProgramMaskSerializedProgramprogVertexm_SubProgramsSerializedSubProgramm_BlobIndexParserBindChannelsm_ChannelsShaderBindChannelsourcetargetm_SourceMapm_KeywordIndicesm_ShaderHardwareTierm_GpuProgramTypeSerializedProgramParametersm_Parametersm_VectorParamsVectorParameterm_NameIndexm_ArraySizem_Dimm_MatrixParamsMatrixParameterm_RowCountm_TextureParamsTextureParameterm_SamplerIndexm_MultiSampledm_BufferParamsBufferBindingm_ConstantBuffersConstantBufferm_StructParamsStructParameterm_StructSizem_VectorMembersm_MatrixMembersm_Sizem_IsPartialCBm_ConstantBufferBindingsm_UAVParamsUAVParameterm_OriginalIndexm_SamplersSamplerParametersamplerbindPointm_ShaderRequirementsm_PlayerSubProgramsSerializedPlayerSubProgramm_ParameterBlobIndicesm_CommonParametersm_SerializedKeywordStateMaskprogFragmentprogGeometryprogHullprogDomainprogRayTracingm_HasInstancingVariantm_HasProceduralInstancingVariantm_UseNamem_TextureNameSerializedPackageRequirementsm_PackageRequirementsm_RequirementsSerializedPackageRequirementversionstatusm_StatusMessagem_CombinedStatusm_KeywordNamesm_KeywordFlagsm_CustomEditorNamem_FallbackNamem_DependenciesSerializedShaderDependencyfromtom_CustomEditorForRenderPipelinesSerializedCustomEditorForRenderPipelinecustomEditorNamerenderPipelineTypem_DisableNoSubshadersMessageplatformsoffsetscompressedLengthsdecompressedLengthscompressedBlobstageCountsPPtr<Shader>m_NonModifiableTexturesm_ShaderIsBakedm_DefaultTextureserrorsShaderErrormessagemessageDetailsfilecompilerPlatformlinewarningruntimeErrorShaderCompilationInfom_CompileInfom_SnippetsShaderSnippetm_Codem_AssetPathm_AssetNamem_PlatformMaskm_HardwareTierVariantsMaskm_StartLinem_TypesMaskm_IncludesHashbytes[0]bytes[1]bytes[2]bytes[3]bytes[4]bytes[5]bytes[6]bytes[7]bytes[8]bytes[9]bytes[10]bytes[11]bytes[12]bytes[13]bytes[14]bytes[15]m_CodeHashm_FromOtherm_ForceSyncCompilationm_UseDxcAPIsm_NeverUseDxcAPIsm_Languagem_VariantsUserGlobal0m_VariantsUserGlobal1m_VariantsUserGlobal2m_VariantsUserGlobal3m_VariantsUserGlobal4m_VariantsUserGlobal5m_VariantsUserGlobal6m_VariantsUserLocal0m_VariantsUserLocal1m_VariantsUserLocal2m_VariantsUserLocal3m_VariantsUserLocal4m_VariantsUserLocal5m_VariantsUserLocal6m_VariantsBuiltin0m_VariantsBuiltin1m_VariantsBuiltin2m_VariantsBuiltin3m_VariantsBuiltin4m_VariantsBuiltin5m_VariantsBuiltin6m_DynamicBranchKeywordsm_PrunedKeywords0m_PrunedKeywords1m_PrunedKeywords2m_PrunedKeywords3m_PrunedKeywords4m_PrunedKeywords5m_PrunedKeywords6m_BaseRequirementsm_KeywordTargetInfoKeywordTargetInfokeywordNamerequirementsm_NonStrippedUserKeywordsm_BuiltinKeywordsm_MeshComponentsFromSnippetsm_HasSurfaceShadersm_HasFixedFunctionShadersm_CompileSmokeTestAfterImportm_AssetGUIDdata[0]data[1]data[2]data[3]m_AssetLocalIdentifierInFile<00><><EFBFBD><EFBFBD><EFBFBD>R=<3D>5k<1B>wP~<00>7<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00> E<00> <00><00><00>.<00>(<00>
<00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00> Q<00>j<00>FS <00><00><00>.<00>(<00>E<00>\ <00><00><00><00>.<00>(<00><00><00>e<00><00><00><><00><><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><00>H<00>j<00><><EFBFBD><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00>Q<00>j<00><00><00><><00><><EFBFBD><EFBFBD><00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><00>H<00>j<00><><EFBFBD><EFBFBD><EFBFBD> <00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>!@<00><00><00>"Q<00>j<00>#<00><00><>$L<00><>%L<00><>&@<00><00><>'<00><00><><00><><EFBFBD><EFBFBD>(<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>)<00><00><00><00>*<00>j<00><><EFBFBD><EFBFBD><EFBFBD>+<00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD>,<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>-@<00><00><00>.Q<00>j<00>/H<00>
<00><><EFBFBD><EFBFBD><EFBFBD>0<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>1@<00><00><00>2Q<00>j<00>3<00><00><00><><EFBFBD><EFBFBD>4<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>5<00><00><00><00>6H<00>j<00><><EFBFBD><EFBFBD><EFBFBD>7<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>8@<00><00><00>9Q<00>j<00>:H<00><00><><EFBFBD><EFBFBD>;<00><>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><@<40><00><00><00>=<00>Q<00>j<00>><00>*=<00><><EFBFBD><EFBFBD>?<00><00><00>O<00><><EFBFBD><EFBFBD>@<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>A<00><00><00><00>B<00>j<00><><EFBFBD><EFBFBD><EFBFBD>C<00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD>D<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>E@<00><00><00>FQ<00>j<00>GY
<00>H<00><00>e I<00><00>J<00>.<00>(K<00><00><00>oL <00><00>wM <00><00>yN <00><00>{O <00><00>wP <00><00>yQ <00><00><><00><><EFBFBD><EFBFBD>R<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>S<00><00><00><00>T<00>j<00><><EFBFBD><EFBFBD><EFBFBD>U<00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD>V<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>W@<00><00><00>XQ<00>j<00>Y<00><00>
<00>Z<00><00><><00><><EFBFBD><EFBFBD>[<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>\<00><00><00><00>]<00>j<00><><EFBFBD><EFBFBD><EFBFBD>^<00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD>_<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>`@<00><00><00>aQ<00>j<00>b<00><00>
<00>c<00><00><><00><><EFBFBD><EFBFBD>d<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>e<00><00><00><00>f<00>j<00><><EFBFBD><EFBFBD><EFBFBD>g<00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD>h<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>i@<00><00><00>jQ<00>j<00>kV<00>
<00>l <00><00><>m <00><00><>n <00><00><>o <00><00><>p <00><00><><00><><EFBFBD><EFBFBD>q<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>r<00><00><00><00>s<00>j<00><><EFBFBD><EFBFBD><EFBFBD>t<00>H<00><><00><><EFBFBD><EFBFBD>u<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>v@<00><00><00>wQ<00>j<00>xH<00><><00><><EFBFBD><EFBFBD>y<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>z@<00><00><00>{Q<00>j<00>|L<00><>}@<40>MaterialPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>PPtr<Shader>m_Shaderm_Parentm_ModifiedSerializedPropertiesm_ValidKeywordsm_InvalidKeywordsm_LightmapFlagsm_EnableInstancingVariantsm_DoubleSidedGIm_CustomRenderQueuestringTagMapdisabledShaderPassesm_LockedPropertiesUnityPropertySheetm_SavedPropertiesm_TexEnvsUnityTexEnvm_Texturem_Scalexym_Offsetm_Intsm_Floatsm_Colorsrgbam_BuildTextureStacksBuildTextureStackReferencegroupNameitemNamem_AllowLocking<00><><EFBFBD>|<00><><73>ҵ<EFBFBD><D2B5><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>V^7<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00>E<00> <00><00>'<00>.<00>0<00>9a<00> <00><00>'<00>.<00>0<00><00><00>r<00> <00><00>' <00>.<00>0
<00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD> <01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00> Q<00>j<00><00><00>N<00><><EFBFBD><EFBFBD><01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><01><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><01><00><><00> <00><00><><00>.<00>
<00>H<00>
<00><><EFBFBD><EFBFBD><EFBFBD><01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00>Q<00>j<00><00><00>f<00><><EFBFBD><EFBFBD><01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD><01><00><00><00><00>j<00><><EFBFBD><EFBFBD><EFBFBD><01>x<00><00><><EFBFBD><EFBFBD><EFBFBD><01>H<00><><00><><EFBFBD><EFBFBD><01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD> @<00><00><00>!Q<00>j<00>"H<00><><00><><EFBFBD><EFBFBD>#<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>$@<00><00><00>%Q<00>j<00>&H<00><><00><><EFBFBD><EFBFBD>'<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>(@<00><00><00>)Q<00>j<00>*y<00>
<00> +<00><00>',<00>.<00>0-<00><00><><00><><EFBFBD><EFBFBD>.@1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>/<00><00><00>0.<00>j<00>1H<00><><00><><EFBFBD><EFBFBD>2<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>3@<00><00><00>4Q<00>j<00>5H<00><><00><><EFBFBD><EFBFBD>6<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>7@<00><00><00>8Q<00>j<00>9H<00><><00><><EFBFBD><EFBFBD>:<01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>;@<00><00><00><Q<00>j<00>=h<00><><00> ><00><00>'?<00>.<00>0@<00><00><00><>AA<00><00><>BA
<00><><EFBFBD><EFBFBD>C<00>H<00><><00><><EFBFBD><EFBFBD>D<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>E@<00><00><00>FQ<00>j<00>GH<00>)<00><><EFBFBD><EFBFBD>H<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>I@<00><00><00>JQ<00>j<00>KH<00>2<00><><EFBFBD><EFBFBD>L<00>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>M@<00><00><00>NQ<00>j<00>O>O P<00><00>'Q<00>.<00>0R<00>>T S<00><00>'T<00>.<00>0U<00>ScriptedImporterPPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>m_InternalIDToNameTablem_ExternalObjectsSourceAssetIdentifiertypeassemblynamem_UsedFileIDsm_UserDatam_AssetBundleNamem_AssetBundleVariantm_UseAsTemplatem_ExposeTemplateAsShaderShaderGraphTemplatem_TemplatecategorydescriptionPPtr<$Texture2D>iconthumbnailr<00><><EFBFBD><EFBFBD>O(If<>,<2C>5X׽"<00><00>7<00><><EFBFBD><EFBFBD><EFBFBD><00><00><00><><00>E<00> <00><00><00>.<00><00>(a<00> <00><00><00>.<00><00><00><00>r<00> <00><00> <00>.<00>
<00>4<00>v<00> A<00><00> A.<00> A<00><00>]<00>A<00><00>K<00>h<00><><00> <00><00><00>.<00><00>H<00><><00><><EFBFBD><EFBFBD><EFBFBD><01>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<00><00><00>Q<00>j<00>H<00>3<00><><EFBFBD><EFBFBD><EFBFBD><01><>1<00>1<00><><EFBFBD><EFBFBD><EFBFBD>@<40><00><00><00><00>Q<00>j<00><00><00><00>=<00><00>HA<00><00>`<00><00>n<00><00>zA<00><00><> A<00><00><>!APPtr<EditorExtension>m_FileIDm_PathIDPPtr<PrefabInstance>m_ShaderIDm_AllowMaterialOverridem_SurfaceTypem_AlphaModem_CastShadowsm_HasVertexModificationInMotionVectorm_IsVFXCompatiblem<><6D>b<EFBFBD>O<EFBFBD><4F><00><00><><EFBFBD><EFBFBD>K<EFBFBD>E<EFBFBD><45>p <00>/<2F><>+<2B><><EFBFBD>0! <00> % <00>5kv.o\'<27>% <00><00>y<EFBFBD><00>y<EFBFBD><00>y<EFBFBD>k<><6B><EFBFBD><EFBFBD>ƵC<C6B5>J\W<>fq]&<26><>&Q@g<>~v<>*<2A><14>-V<>=<1C><>J<EFBFBD><4A><EFBFBD>p<EFBFBD><70><EFBFBD><00><><EFBFBD>C%O<>E<EFBFBD>@<40><><EFBFBD>%`<60><00><><EFBFBD>-<2D><>|A<>=<3D><><EFBFBD><EFBFBD>c<EFBFBD><00><rk<><6B>K<EFBFBD><4B>k<EFBFBD><6B>F<7Q<>1<EFBFBD>݈~K<><4B><EFBFBD><EFBFBD>~A<> DO<><4F>-B<><42>E<EFBFBD>q<EFBFBD>c<EFBFBD> <00>y<EFBFBD>EUnity.ShaderGraph.Editor::UnityEditor.ShaderGraph.ShaderGraphMetadata ?<3F><04> ?<3F><04> ?<3F><04> ?<3F><04> ?<3F><04>_MainTex_Color_HueVariationKwToggle_HueVariationColor_NormalMapKwToggle
_NormalMapEFFECT_EXTRA_TEX _ExtraTex _Glossiness _Metallic_SubsurfaceKwToggle_SubsurfaceIndirect_SubsurfaceColor_SubsurfaceTex_AlphaClipThresholdBackface_Normal_Mode_BillboardKwToggleWind _WIND_SHARED _WIND_BRANCH1 _WIND_BRANCH2 _WIND_SHIMMER _WIND_RIPPLE_MainTexBase Mapwhite_Color
Color Tint<00>?<00>?<00>?<00>?_HueVariationKwToggleEnable Hue VariationToggleUI<00>?_HueVariationColorHue Variation Color<00>??<00><>L>_NormalMapKwToggleEnable Normal MapToggleUI<00>?
_NormalMap
Normal Map bumpEFFECT_EXTRA_TEXEnable Extra MapToggleUI<00>? _ExtraTex$Smoothness (R), Metallic (G), AO (B)white _Glossiness
Smoothness?<00>? _MetallicMetallic<00>?_SubsurfaceKwToggleEnable SubsurfaceToggleUI_SubsurfaceIndirectIndirect Subsurface Intensity<00>><00>?_SubsurfaceColorSubsurface Color<00>?<00>?<00>?<00>?_SubsurfaceTexSubsurface Mapblack_AlphaClipThresholdAlpha Clip Threshold<00><><EFBFBD>=<00>?Backface_Normal_ModeBackface Normal Mode_BillboardKwToggle Billboard _WIND_SHARED Shared MotionToggle(_WIND_SHARED) _WIND_BRANCH1Branch1 MotionToggle(_WIND_BRANCH1) _WIND_BRANCH2Branch2 MotionToggle(_WIND_BRANCH2) _WIND_SHIMMERShimmer MotionToggle(_WIND_SHIMMER) _WIND_RIPPLE Ripple MotionToggle(_WIND_RIPPLE) _QueueOffset _QueueOffset _QueueControl _QueueControl<00><>unity_Lightmapsunity_Lightmapsunity_LightmapsIndunity_LightmapsIndunity_ShadowMasksunity_ShadowMasks
Universal Forward<00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit><00>@ <noninit><00>? <noninit> <noninit> <noninit> <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit>C <noninit>C <noninit> <noninit>unity_FogStart unity_FogEndunity_FogDensity <noninit> <noninit> <noninit> <noninit>unity_FogColor<00><><EFBFBD><EFBFBD>2<EFBFBD> AlwaysRenderMotionVectorstrueDisableBatching LodFading LIGHTMODEUniversalForwardQUEUE AlphaTestRenderPipelineUniversalPipeline
RenderTypeOpaqueShaderGraphShadertrueShaderGraphTargetIdUniversalLitSubTargetUniversalMaterialTypeLit"
 !.
 !"#$%&'()*+,-./012GBuffer<00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit><00>@ <noninit><00>? <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit>C <noninit>C <noninit> <noninit>unity_FogStart unity_FogEndunity_FogDensity <noninit> <noninit> <noninit> <noninit>unity_FogColor<00><><EFBFBD><EFBFBD>
S AlwaysRenderMotionVectorstrueDisableBatching LodFading LIGHTMODEUniversalGBufferQUEUE AlphaTestRenderPipelineUniversalPipeline
RenderTypeOpaqueShaderGraphShadertrueShaderGraphTargetIdUniversalLitSubTargetUniversalMaterialTypeLit
 !3(
 !#%&()*+,-.02345 ShadowCaster<00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit> <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit><00>@ <noninit><00>? <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit>C <noninit>C <noninit> <noninit>unity_FogStart unity_FogEndunity_FogDensity <noninit> <noninit> <noninit> <noninit>unity_FogColor<00><><EFBFBD><EFBFBD><EFBFBD> AlwaysRenderMotionVectorstrueDisableBatching LodFading LIGHTMODE SHADOWCASTERQUEUE AlphaTestRenderPipelineUniversalPipeline
RenderTypeOpaqueShaderGraphShadertrueShaderGraphTargetIdUniversalLitSubTargetUniversalMaterialTypeLit6 MotionVectors<00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>@A <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit><00>@ <noninit><00>? <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit>C <noninit>C <noninit> <noninit>unity_FogStart unity_FogEndunity_FogDensity <noninit> <noninit> <noninit> <noninit>unity_FogColor<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AlwaysRenderMotionVectorstrueDisableBatching LodFading LIGHTMODE MOTIONVECTORSQUEUE AlphaTestRenderPipelineUniversalPipeline
RenderTypeOpaqueShaderGraphShadertrueShaderGraphTargetIdUniversalLitSubTargetUniversalMaterialTypeLit  2 DepthOnly<00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>A <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit><00>@ <noninit><00>? <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit>C <noninit>C <noninit> <noninit>unity_FogStart unity_FogEndunity_FogDensity <noninit> <noninit> <noninit> <noninit>unity_FogColor<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AlwaysRenderMotionVectorstrueDisableBatching LodFading LIGHTMODE DepthOnlyQUEUE AlphaTestRenderPipelineUniversalPipeline
RenderTypeOpaqueShaderGraphShadertrueShaderGraphTargetIdUniversalLitSubTargetUniversalMaterialTypeLit  DepthNormals<00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit><00>@ <noninit><00>? <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit>C <noninit>C <noninit> <noninit>unity_FogStart unity_FogEndunity_FogDensity <noninit> <noninit> <noninit> <noninit>unity_FogColor<00><><EFBFBD><EFBFBD>} AlwaysRenderMotionVectorstrueDisableBatching LodFading LIGHTMODE DepthNormalsQUEUE AlphaTestRenderPipelineUniversalPipeline
RenderTypeOpaqueShaderGraphShadertrueShaderGraphTargetIdUniversalLitSubTargetUniversalMaterialTypeLit  2Meta<00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit><00>@ <noninit><00>? <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit>C <noninit>C <noninit> <noninit>unity_FogStart unity_FogEndunity_FogDensity <noninit> <noninit> <noninit> <noninit>unity_FogColor<00><><EFBFBD><EFBFBD>DA AlwaysRenderMotionVectorstrueDisableBatching LodFading LIGHTMODEMETAQUEUE AlphaTestRenderPipelineUniversalPipeline
RenderTypeOpaqueShaderGraphShadertrueShaderGraphTargetIdUniversalLitSubTargetUniversalMaterialTypeLit 77SceneSelectionPass<00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit><00>@ <noninit><00>? <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit>C <noninit>C <noninit> <noninit>unity_FogStart unity_FogEndunity_FogDensity <noninit> <noninit> <noninit> <noninit>unity_FogColor<00><><EFBFBD><EFBFBD><EFBFBD> AlwaysRenderMotionVectorstrueDisableBatching LodFading LIGHTMODESceneSelectionPassQUEUE AlphaTestRenderPipelineUniversalPipeline
RenderTypeOpaqueShaderGraphShadertrueShaderGraphTargetIdUniversalLitSubTargetUniversalMaterialTypeLit ScenePickingPass<00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit><00>@ <noninit><00>? <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit>C <noninit>C <noninit> <noninit>unity_FogStart unity_FogEndunity_FogDensity <noninit> <noninit> <noninit> <noninit>unity_FogColor<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AlwaysRenderMotionVectorstrueDisableBatching LodFading LIGHTMODEPickingQUEUE AlphaTestRenderPipelineUniversalPipeline
RenderTypeOpaqueShaderGraphShadertrueShaderGraphTargetIdUniversalLitSubTargetUniversalMaterialTypeLit  Universal 2D<00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit> <noninit><00>? <noninit> <noninit> <noninit> <noninit>pA <noninit><00>? <noninit><00>@ <noninit><00>? <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit> <noninit> <noninit> <noninit>A <noninit>C <noninit>C <noninit> <noninit>unity_FogStart unity_FogEndunity_FogDensity <noninit> <noninit> <noninit> <noninit>unity_FogColor<00><><EFBFBD><EFBFBD>O<EFBFBD> AlwaysRenderMotionVectorstrueDisableBatching LodFading LIGHTMODE Universal2DQUEUE AlphaTestRenderPipelineUniversalPipeline
RenderTypeOpaqueShaderGraphShadertrueShaderGraphTargetIdUniversalLitSubTargetUniversalMaterialTypeLit
AlwaysRenderMotionVectorstrueDisableBatching LodFadingQUEUE AlphaTestRenderPipelineUniversalPipeline
RenderTypeOpaqueShaderGraphShadertrueShaderGraphTargetIdUniversalLitSubTargetUniversalMaterialTypeLit8STEREO_INSTANCING_ONUNITY_SINGLE_PASS_STEREOSTEREO_MULTIVIEW_ONSTEREO_CUBEMAP_RENDER_ON _WIND_SHIMMER _WIND_BRANCH1 _WIND_BRANCH2 _WIND_SHARED _WIND_RIPPLE LIGHTMAP_ONDYNAMICLIGHTMAP_ONDIRLIGHTMAP_COMBINEDUSE_LEGACY_LIGHTMAPSLIGHTMAP_BICUBIC_SAMPLINGREFLECTION_PROBE_ROTATION_MAIN_LIGHT_SHADOWS_MAIN_LIGHT_SHADOWS_CASCADE_MAIN_LIGHT_SHADOWS_SCREEN_ADDITIONAL_LIGHTS_VERTEX_ADDITIONAL_LIGHTSLIGHTMAP_SHADOW_MIXINGSHADOWS_SHADOWMASK_CLUSTER_LIGHT_LOOPEVALUATE_SH_MIXEDEVALUATE_SH_VERTEXLOD_FADE_CROSSFADEDOTS_INSTANCING_ONPROBE_VOLUMES_L1PROBE_VOLUMES_L2&_FOVEATED_RENDERING_NON_UNIFORM_RASTER INSTANCING_ON
FOG_LINEARFOG_EXPFOG_EXP2_SCREEN_SPACE_OCCLUSION_SCREEN_SPACE_IRRADIANCE_ADDITIONAL_LIGHT_SHADOWS_REFLECTION_PROBE_BLENDING _REFLECTION_PROBE_BOX_PROJECTION_REFLECTION_PROBE_ATLAS _SHADOWS_SOFT_SHADOWS_SOFT_LOW_SHADOWS_SOFT_MEDIUM_SHADOWS_SOFT_HIGH _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 _LIGHT_LAYERS DEBUG_DISPLAY_LIGHT_COOKIES_WRITE_RENDERING_LAYERS_MIXED_LIGHTING_SUBTRACTIVE_GBUFFER_NORMALS_OCT_RENDER_PASS_ENABLED_CASTING_PUNCTUAL_LIGHT_SHADOWEDITOR_VISUALIZATION8/Universal Render Pipeline/Nature/SpeedTree9_URP5UnityEditor.ShaderGraph.GenericShaderGraphMaterialGUI!Hidden/Shader Graph/FallbackErrorUnityEditor.ShaderGraphLitGUI<UnityEngine.Rendering.Universal.UniversalRenderPipelineAsset _ExtraTex_MainTex
_NormalMap_SubsurfaceTexunity_Lightmapsunity_LightmapsIndunity_MipmapStreaming_DebugTexunity_ShadowMasks
2<><00>U#if defined(SHADER_STAGE_VERTEX)
#define _WIND_SHIMMER_KEYWORD_DECLARED 1
#define _WIND_BRANCH1_KEYWORD_DECLARED 1
#define _WIND_BRANCH2_KEYWORD_DECLARED 1
#define _WIND_SHARED_KEYWORD_DECLARED 1
#define _WIND_RIPPLE_KEYWORD_DECLARED 1
#define LIGHTMAP_ON_KEYWORD_DECLARED 1
#define DYNAMICLIGHTMAP_ON_KEYWORD_DECLARED 1
#define DIRLIGHTMAP_COMBINED_KEYWORD_DECLARED 1
#define USE_LEGACY_LIGHTMAPS_KEYWORD_DECLARED 1
#define LIGHTMAP_BICUBIC_SAMPLING_KEYWORD_DECLARED 1
#define REFLECTION_PROBE_ROTATION_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_CASCADE_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_SCREEN_KEYWORD_DECLARED 1
#define _ADDITIONAL_LIGHTS_VERTEX_KEYWORD_DECLARED 1
#define _ADDITIONAL_LIGHTS_KEYWORD_DECLARED 1
#define LIGHTMAP_SHADOW_MIXING_KEYWORD_DECLARED 1
#define SHADOWS_SHADOWMASK_KEYWORD_DECLARED 1
#define _CLUSTER_LIGHT_LOOP_KEYWORD_DECLARED 1
#define EVALUATE_SH_MIXED_KEYWORD_DECLARED 1
#define EVALUATE_SH_VERTEX_KEYWORD_DECLARED 1
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define PROBE_VOLUMES_L1_KEYWORD_DECLARED 1
#define PROBE_VOLUMES_L2_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#define FOG_LINEAR_KEYWORD_DECLARED 1
#define FOG_EXP_KEYWORD_DECLARED 1
#define FOG_EXP2_KEYWORD_DECLARED 1
#endif
#if defined(SHADER_STAGE_FRAGMENT)
#define _SCREEN_SPACE_OCCLUSION_KEYWORD_DECLARED 1
#define _SCREEN_SPACE_IRRADIANCE_KEYWORD_DECLARED 1
#define _ADDITIONAL_LIGHT_SHADOWS_KEYWORD_DECLARED 1
#define _REFLECTION_PROBE_BLENDING_KEYWORD_DECLARED 1
#define _REFLECTION_PROBE_BOX_PROJECTION_KEYWORD_DECLARED 1
#define _REFLECTION_PROBE_ATLAS_KEYWORD_DECLARED 1
#define _SHADOWS_SOFT_KEYWORD_DECLARED 1
#define _SHADOWS_SOFT_LOW_KEYWORD_DECLARED 1
#define _SHADOWS_SOFT_MEDIUM_KEYWORD_DECLARED 1
#define _SHADOWS_SOFT_HIGH_KEYWORD_DECLARED 1
#define _DBUFFER_MRT1_KEYWORD_DECLARED 1
#define _DBUFFER_MRT2_KEYWORD_DECLARED 1
#define _DBUFFER_MRT3_KEYWORD_DECLARED 1
#define _LIGHT_LAYERS_KEYWORD_DECLARED 1
#define DEBUG_DISPLAY_KEYWORD_DECLARED 1
#define _LIGHT_COOKIES_KEYWORD_DECLARED 1
#define _WRITE_RENDERING_LAYERS_KEYWORD_DECLARED 1
#define LIGHTMAP_ON_KEYWORD_DECLARED 1
#define DYNAMICLIGHTMAP_ON_KEYWORD_DECLARED 1
#define DIRLIGHTMAP_COMBINED_KEYWORD_DECLARED 1
#define USE_LEGACY_LIGHTMAPS_KEYWORD_DECLARED 1
#define LIGHTMAP_BICUBIC_SAMPLING_KEYWORD_DECLARED 1
#define REFLECTION_PROBE_ROTATION_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_CASCADE_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_SCREEN_KEYWORD_DECLARED 1
#define _ADDITIONAL_LIGHTS_VERTEX_KEYWORD_DECLARED 1
#define _ADDITIONAL_LIGHTS_KEYWORD_DECLARED 1
#define LIGHTMAP_SHADOW_MIXING_KEYWORD_DECLARED 1
#define SHADOWS_SHADOWMASK_KEYWORD_DECLARED 1
#define _CLUSTER_LIGHT_LOOP_KEYWORD_DECLARED 1
#define EVALUATE_SH_MIXED_KEYWORD_DECLARED 1
#define EVALUATE_SH_VERTEX_KEYWORD_DECLARED 1
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define PROBE_VOLUMES_L1_KEYWORD_DECLARED 1
#define PROBE_VOLUMES_L2_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#define FOG_LINEAR_KEYWORD_DECLARED 1
#define FOG_EXP_KEYWORD_DECLARED 1
#define FOG_EXP2_KEYWORD_DECLARED 1
#endif
cbuffer UnityDynamicKeywords {
int _FOVEATED_RENDERING_NON_UNIFORM_RASTER;
};
#line 64 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
#define UNITY_INSTANCED_LOD_FADE
#define UNITY_INSTANCED_RENDERING_LAYER
#define UNITY_INSTANCED_SH
#define UNITY_INSTANCED_LIGHTMAPSTS
#define UNITY_INSTANCED_RENDERER_BOUNDS
#line 64 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
/* UNITY: Original start of shader */
// Pragmas
#pragma target 2.0
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
#pragma multi_compile_fragment _ _SCREEN_SPACE_IRRADIANCE
#pragma multi_compile _ LIGHTMAP_ON
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
#pragma multi_compile _ USE_LEGACY_LIGHTMAPS
#pragma multi_compile _ LIGHTMAP_BICUBIC_SAMPLING
#pragma multi_compile _ REFLECTION_PROBE_ROTATION
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
#pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION
#pragma multi_compile_fragment _ _REFLECTION_PROBE_ATLAS
#pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH
#pragma multi_compile _ LIGHTMAP_SHADOW_MIXING
#pragma multi_compile _ SHADOWS_SHADOWMASK
#pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
#pragma multi_compile_fragment _ _LIGHT_LAYERS
#pragma multi_compile_fragment _ DEBUG_DISPLAY
#pragma multi_compile_fragment _ _LIGHT_COOKIES
#pragma multi_compile _ _CLUSTER_LIGHT_LOOP
#pragma multi_compile _ EVALUATE_SH_MIXED EVALUATE_SH_VERTEX
#pragma multi_compile _ LOD_FADE_CROSSFADE
#pragma shader_feature_vertex _ _WIND_SHIMMER
#pragma shader_feature_vertex _ _WIND_BRANCH1
#pragma shader_feature_vertex _ _WIND_BRANCH2
#pragma shader_feature_vertex _ _WIND_SHARED
#pragma shader_feature_vertex _ _WIND_RIPPLE
#if defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_0
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_1
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_2
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_3
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_4
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_5
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_6
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_7
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_8
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_9
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_10
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_11
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_12
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_13
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_14
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_15
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_16
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_17
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_18
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_19
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_20
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_21
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_22
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_23
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_24
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_25
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_26
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_27
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_28
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_29
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_30
#elif defined(LOD_FADE_CROSSFADE)
#define KEYWORD_PERMUTATION_31
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_32
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_33
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_34
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_35
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_36
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_37
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_38
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_39
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_40
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_41
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_42
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_43
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_44
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_45
#elif defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_46
#elif defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_47
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_48
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_49
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_50
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_51
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_52
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_53
#elif defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_54
#elif defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_55
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_56
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_57
#elif defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_58
#elif defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_59
#elif defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_60
#elif defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_61
#elif defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_62
#else
#define KEYWORD_PERMUTATION_63
#endif
// Defines
#define _NORMALMAP 1
#define _NORMAL_DROPOFF_WS 1
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_TEXCOORD3
#define ATTRIBUTES_NEED_COLOR
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TANGENT_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_TEXCOORD1
#define VARYINGS_NEED_TEXCOORD2
#define VARYINGS_NEED_COLOR
#define VARYINGS_NEED_FOG_AND_VERTEX_LIGHT
#define VARYINGS_NEED_SHADOW_COORD
#define VARYINGS_NEED_CULLFACE
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_FORWARD
#define _ALPHATEST_ON 1
#define USE_UNITY_CROSSFADE 1
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ProbeVolumeVariants.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 uv3 : TEXCOORD3;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 tangentWS;
float4 texCoord0;
float4 texCoord1;
float4 texCoord2;
float4 color;
#if defined(LIGHTMAP_ON)
float2 staticLightmapUV;
#endif
#if defined(DYNAMICLIGHTMAP_ON)
float2 dynamicLightmapUV;
#endif
#if !defined(LIGHTMAP_ON)
float3 sh;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
float4 probeOcclusion;
#endif
float4 fogFactorAndVertexLight;
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
float4 shadowCoord;
#endif
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct SurfaceDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpaceViewDirection;
float3 WorldSpacePosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 VertexColor;
float FaceSign;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 WorldSpaceTangent;
float3 ObjectSpaceBiTangent;
float3 WorldSpaceBiTangent;
float3 ObjectSpacePosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 uv3;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
#if defined(LIGHTMAP_ON)
float2 staticLightmapUV : INTERP0;
#endif
#if defined(DYNAMICLIGHTMAP_ON)
float2 dynamicLightmapUV : INTERP1;
#endif
#if !defined(LIGHTMAP_ON)
float3 sh : INTERP2;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
float4 probeOcclusion : INTERP3;
#endif
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
float4 shadowCoord : INTERP4;
#endif
float4 tangentWS : INTERP5;
float4 texCoord0 : INTERP6;
float4 texCoord1 : INTERP7;
float4 texCoord2 : INTERP8;
float4 color : INTERP9;
float4 fogFactorAndVertexLight : INTERP10;
float4 packed_positionWS_NormalWSx : INTERP11;
float4 packed_normalWS_NormalWSy : INTERP12;
float4 packed_TangentWS_NormalWSz : INTERP13;
float3 BitangentWS : INTERP14;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
#if defined(LIGHTMAP_ON)
output.staticLightmapUV = input.staticLightmapUV;
#endif
#if defined(DYNAMICLIGHTMAP_ON)
output.dynamicLightmapUV = input.dynamicLightmapUV;
#endif
#if !defined(LIGHTMAP_ON)
output.sh = input.sh;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
output.probeOcclusion = input.probeOcclusion;
#endif
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
output.shadowCoord = input.shadowCoord;
#endif
output.tangentWS.xyzw = input.tangentWS;
output.texCoord0.xyzw = input.texCoord0;
output.texCoord1.xyzw = input.texCoord1;
output.texCoord2.xyzw = input.texCoord2;
output.color.xyzw = input.color;
output.fogFactorAndVertexLight.xyzw = input.fogFactorAndVertexLight;
output.packed_positionWS_NormalWSx.xyz = input.positionWS;
output.packed_positionWS_NormalWSx.w = input.NormalWS.x;
output.packed_normalWS_NormalWSy.xyz = input.normalWS;
output.packed_normalWS_NormalWSy.w = input.NormalWS.y;
output.packed_TangentWS_NormalWSz.xyz = input.TangentWS;
output.packed_TangentWS_NormalWSz.w = input.NormalWS.z;
output.BitangentWS.xyz = input.BitangentWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
#if defined(LIGHTMAP_ON)
output.staticLightmapUV = input.staticLightmapUV;
#endif
#if defined(DYNAMICLIGHTMAP_ON)
output.dynamicLightmapUV = input.dynamicLightmapUV;
#endif
#if !defined(LIGHTMAP_ON)
output.sh = input.sh;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
output.probeOcclusion = input.probeOcclusion;
#endif
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
output.shadowCoord = input.shadowCoord;
#endif
output.tangentWS = input.tangentWS.xyzw;
output.texCoord0 = input.texCoord0.xyzw;
output.texCoord1 = input.texCoord1.xyzw;
output.texCoord2 = input.texCoord2.xyzw;
output.color = input.color.xyzw;
output.fogFactorAndVertexLight = input.fogFactorAndVertexLight.xyzw;
output.positionWS = input.packed_positionWS_NormalWSx.xyz;
output.NormalWS.x = input.packed_positionWS_NormalWSx.w;
output.normalWS = input.packed_normalWS_NormalWSy.xyz;
output.NormalWS.y = input.packed_normalWS_NormalWSy.w;
output.TangentWS = input.packed_TangentWS_NormalWSz.xyz;
output.NormalWS.z = input.packed_TangentWS_NormalWSz.w;
output.BitangentWS = input.BitangentWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _MainTex_TexelSize;
float4 _Color;
float _HueVariationKwToggle;
float4 _HueVariationColor;
float _NormalMapKwToggle;
float4 _NormalMap_TexelSize;
float EFFECT_EXTRA_TEX;
float4 _ExtraTex_TexelSize;
float _Glossiness;
float _Metallic;
float _SubsurfaceKwToggle;
float _SubsurfaceIndirect;
float4 _SubsurfaceColor;
float4 _SubsurfaceTex_TexelSize;
float _AlphaClipThreshold;
float Backface_Normal_Mode;
float _BillboardKwToggle;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
TEXTURE2D(_NormalMap);
SAMPLER(sampler_NormalMap);
TEXTURE2D(_ExtraTex);
SAMPLER(sampler_ExtraTex);
TEXTURE2D(_SubsurfaceTex);
SAMPLER(sampler_SubsurfaceTex);
// Graph Includes
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTreeCommon.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTree9Wind.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/LODDitheringTransition.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float
{
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(float3 Vector3_DF61F3B, float _IsBillboard, Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float IN, out float3 ObjectSpacePositionOut_1)
{
float _Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean = _IsBillboard;
float3 _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3 = Vector3_DF61F3B;
float4 _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4 = IN.uv2;
float4 _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3;
SpeedTree9LeafFacing_float(_Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4, _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3);
float3 _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
Unity_Branch_float3(_Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean, _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3, _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3);
ObjectSpacePositionOut_1 = _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
}
void Unity_Subtract_float3(float3 A, float3 B, out float3 Out)
{
Out = A - B;
}
struct Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float
{
float3 ObjectSpaceNormal;
half4 uv0;
half4 uv1;
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(float3 _ObjectSpaceVertexPosition, Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float IN, out float3 AnimatedVertexObjectSpacePosition_1, out float3 ObjectSpaceMotionVector_2)
{
float3 _Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3 = _ObjectSpaceVertexPosition;
float4 _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4 = IN.uv0;
float4 _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4 = IN.uv1;
float4 _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4 = IN.uv2;
float4 _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 0, _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3);
float3 _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 1, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3);
float3 _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
Unity_Subtract_float3(_SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3, _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3);
AnimatedVertexObjectSpacePosition_1 = _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
ObjectSpaceMotionVector_2 = _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
}
void Unity_Comparison_Equal_float(float A, float B, out float Out)
{
Out = A == B ? 1 : 0;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Fraction_float(float In, out float Out)
{
Out = frac(In);
}
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
{
Out = lerp(A, B, T);
}
void Unity_Blend_Overlay_float4(float4 Base, float4 Blend, out float4 Out, float Opacity)
{
float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend);
float4 result2 = 2.0 * Base * Blend;
float4 zeroOrOne = step(Base, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
Out = lerp(Base, Out, Opacity);
}
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
{
Out = Predicate ? True : False;
}
void Unity_Maximum_float(float A, float B, out float Out)
{
Out = max(A, B);
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float4(float4 In, out float4 Out)
{
Out = saturate(In);
}
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float
{
float3 WorldSpaceViewDirection;
float4 VertexColor;
float2 NDCPosition;
half4 uv0;
};
void SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(UnityTexture2D Base_Map, float4 Color_Tint, float Enable_Hue_Variation, float4 Hue_Variation_Color, float Use_Old_Hue_Variation_Behavior, float Is_Billboard, float Crossfade, Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float IN, out float3 Modified_Color_1, out float Modified_Alpha_4, out float3 Original_Color_2, out float Original_Alpha_3)
{
float _Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean = Enable_Hue_Variation;
float _Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean = Use_Old_Hue_Variation_Behavior;
float4 _Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4 = Color_Tint;
UnityTexture2D _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D = Base_Map;
float4 _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.tex, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.samplerstate, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_R_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.r;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_G_5_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.g;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_B_6_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.b;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_A_7_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.a;
float4 _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4, _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4);
float4 _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4 = Hue_Variation_Color;
float _Split_1e71fee3241d42eea8e7ee1371975d5c_R_1_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[0];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_G_2_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[1];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_B_3_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[2];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[3];
float3 _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3;
{
// Converting Position from Object to AbsoluteWorld via world space
float3 world;
world = TransformObjectToWorld(float3 (0, 0, 0).xyz);
_Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3 = GetAbsolutePositionWS(world);
}
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[0];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[1];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[2];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_A_4_Float = 0;
float _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float;
Unity_Add_float(_Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float, _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float);
float _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float;
Unity_Add_float(_Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float, _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float);
float _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float;
Unity_Fraction_float(_Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float);
float _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float;
Unity_Multiply_float_float(_Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float, _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float);
float _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float;
Unity_Saturate_float(_Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4;
Unity_Lerp_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, (_Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float.xxxx), _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4);
float4 _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4;
Unity_Blend_Overlay_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4;
Unity_Branch_float4(_Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean, _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4);
float _Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[0];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[1];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[2];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_A_4_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[3];
float _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float;
Unity_Maximum_float(_Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float, _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float);
float _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float;
Unity_Maximum_float(_Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float, _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float);
float _Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[0];
float _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[1];
float _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[2];
float _Split_d9b6fd95965b407abd03352c64bd95d4_A_4_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[3];
float _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float;
Unity_Maximum_float(_Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float, _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float);
float _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float;
Unity_Maximum_float(_Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float);
float _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float;
Unity_Divide_float(_Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float, _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float);
float _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float;
Unity_Multiply_float_float(_Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float, 0.5, _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float);
float _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float;
Unity_Add_float(_Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float, float(0.5), _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float);
float4 _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4;
Unity_Multiply_float4_float4(_Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4, (_Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float.xxxx), _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4);
float4 _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4;
Unity_Saturate_float4(_Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4);
float4 _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4;
Unity_Branch_float4(_Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4);
float _Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean = Crossfade;
float _Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean = Is_Billboard;
float _Split_8e113e5414194688aa2c165814b6360b_R_1_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[0];
float _Split_8e113e5414194688aa2c165814b6360b_G_2_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[1];
float _Split_8e113e5414194688aa2c165814b6360b_B_3_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[2];
float _Split_8e113e5414194688aa2c165814b6360b_A_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[3];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_R_1_Float = IN.VertexColor[0];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_G_2_Float = IN.VertexColor[1];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_B_3_Float = IN.VertexColor[2];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float = IN.VertexColor[3];
float _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float;
Unity_Multiply_float_float(_Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float);
float _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float;
Unity_Branch_float(_Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float);
float4 _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
float _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float;
LODDitheringTransitionSG_float(IN.WorldSpaceViewDirection, _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float);
float _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float;
Unity_Multiply_float_float(_Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float);
float _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Unity_Branch_float(_Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float);
Modified_Color_1 = (_Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4.xyz);
Modified_Alpha_4 = _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Original_Color_2 = (_SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.xyz);
Original_Alpha_3 = _Split_8e113e5414194688aa2c165814b6360b_A_4_Float;
}
void Unity_Comparison_Less_float(float A, float B, out float Out)
{
Out = A < B ? 1 : 0;
}
void Unity_DotProduct_float3(float3 A, float3 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Not_float(float In, out float Out)
{
Out = !In;
}
void Unity_Or_float(float A, float B, out float Out)
{
Out = A || B;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
struct Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float
{
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpacePosition;
float FaceSign;
half4 uv0;
};
void SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(float Enable_Normal_Map, UnityTexture2D Normal_Map, float3 Interpolated_Tangent_WS, float3 Interpolated_Bitangent_WS, float3 Interpolated_Normal_WS, float4 Backside_Normal_Transform_TS, float Transform_Backside_Normals, Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float IN, out float3 NormalWS_1, out float3 NormalTS_2)
{
float _Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean = Enable_Normal_Map;
UnityTexture2D _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D = Normal_Map;
float4 _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.tex, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.samplerstate, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4);
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.r;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.g;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.b;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_A_7_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.a;
float3 _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3 = float3(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float);
float _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float;
Unity_DotProduct_float3(_Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float);
float _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean;
Unity_Comparison_Equal_float(_DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float, float(0), _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean);
float3 _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3;
Unity_Branch_float3(_Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean, float3(0, 0, 1), _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3);
float _Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean = Transform_Backside_Normals;
float _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean;
Unity_Not_float(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean);
float _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean = max(0, IN.FaceSign.x);
float _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean;
Unity_Or_float(_Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean, _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean, _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean);
float4 _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4 = Backside_Normal_Transform_TS;
float4 _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4;
Unity_Branch_float4(_Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean, float4(1, 1, 1, 1), _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4, _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4);
float3 _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3;
Unity_Multiply_float3_float3(_Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3, (_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3);
float _Split_d262d084d8a24f75a887851e71acd55c_R_1_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[0];
float _Split_d262d084d8a24f75a887851e71acd55c_G_2_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[1];
float _Split_d262d084d8a24f75a887851e71acd55c_B_3_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[2];
float _Split_d262d084d8a24f75a887851e71acd55c_A_4_Float = 0;
float3 _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3 = Interpolated_Tangent_WS;
float3 _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_R_1_Float.xxx), _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3, _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3);
float3 _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3 = Interpolated_Bitangent_WS;
float3 _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_G_2_Float.xxx), _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3);
float3 _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3;
Unity_Add_float3(_Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3, _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3);
float3 _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3 = Interpolated_Normal_WS;
float3 _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_B_3_Float.xxx), _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3);
float3 _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3;
Unity_Add_float3(_Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3);
float3 _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3 = TransformWorldToTangentDir(_Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3.xyz - IN.WorldSpacePosition, tangentTransform, false);
}
float3 _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3;
Unity_Multiply_float3_float3((_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3, _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3);
float3 _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3 = TransformTangentToWorldDir(_Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3.xyz, tangentTransform, false).xyz + IN.WorldSpacePosition;
}
float3 _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3;
Unity_Branch_float3(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3);
float3 _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
Unity_Branch_float3(_Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3, _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3);
float3 _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3 = TransformWorldToTangentDir(_Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3.xyz, tangentTransform, false);
}
NormalWS_1 = _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
NormalTS_2 = _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
}
void Unity_Subtract_float4(float4 A, float4 B, out float4 Out)
{
Out = A - B;
}
void Unity_Normalize_float4(float4 In, out float4 Out)
{
Out = normalize(In);
}
void Unity_DotProduct_float4(float4 A, float4 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Lerp_float(float A, float B, float T, out float Out)
{
Out = lerp(A, B, T);
}
void Unity_Normalize_float3(float3 In, out float3 Out)
{
Out = normalize(In);
}
struct Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float FaceSign;
};
void SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float Vector1_B7478AA2, float3 Vector3_F863C863, float Vector1_2E103E32, float Boolean_1A7045BA, Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float IN, out float Opacity_1, out float3 NormalTangentSpace_2, out float3 NormalWorldSpace_3)
{
float _Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean = Boolean_1A7045BA;
float _IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean = max(0, IN.FaceSign.x);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M0_1_Vector4 = float4(UNITY_MATRIX_M[0].r, UNITY_MATRIX_M[1].r, UNITY_MATRIX_M[2].r, UNITY_MATRIX_M[3].r);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4 = float4(UNITY_MATRIX_M[0].g, UNITY_MATRIX_M[1].g, UNITY_MATRIX_M[2].g, UNITY_MATRIX_M[3].g);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M2_3_Vector4 = float4(UNITY_MATRIX_M[0].b, UNITY_MATRIX_M[1].b, UNITY_MATRIX_M[2].b, UNITY_MATRIX_M[3].b);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4 = float4(UNITY_MATRIX_M[0].a, UNITY_MATRIX_M[1].a, UNITY_MATRIX_M[2].a, UNITY_MATRIX_M[3].a);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M0_1_Vector4 = float4(UNITY_MATRIX_I_V[0].r, UNITY_MATRIX_I_V[1].r, UNITY_MATRIX_I_V[2].r, UNITY_MATRIX_I_V[3].r);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M1_2_Vector4 = float4(UNITY_MATRIX_I_V[0].g, UNITY_MATRIX_I_V[1].g, UNITY_MATRIX_I_V[2].g, UNITY_MATRIX_I_V[3].g);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M2_3_Vector4 = float4(UNITY_MATRIX_I_V[0].b, UNITY_MATRIX_I_V[1].b, UNITY_MATRIX_I_V[2].b, UNITY_MATRIX_I_V[3].b);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4 = float4(UNITY_MATRIX_I_V[0].a, UNITY_MATRIX_I_V[1].a, UNITY_MATRIX_I_V[2].a, UNITY_MATRIX_I_V[3].a);
float4 _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4;
Unity_Subtract_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4, _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4, _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4);
float4 _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4);
float4 _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4;
Unity_Normalize_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4, _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4);
float _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float;
Unity_DotProduct_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float);
float4 _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, (_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float.xxxx), _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4);
float4 _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4;
Unity_Subtract_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4, _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4);
float4 _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4, _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4);
float _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float;
Unity_DotProduct_float3((_Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4.xyz), IN.WorldSpaceNormal, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float);
float _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float);
float _Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float = Vector1_B7478AA2;
float _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float;
Unity_Multiply_float_float(_Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float, 0.0625, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float);
float _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float;
Unity_Subtract_float(_Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float, _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float);
float _Split_dc240df11f72a383b02ff5d20177297b_R_1_Float = IN.ObjectSpaceNormal[0];
float _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float = IN.ObjectSpaceNormal[1];
float _Split_dc240df11f72a383b02ff5d20177297b_B_3_Float = IN.ObjectSpaceNormal[2];
float _Split_dc240df11f72a383b02ff5d20177297b_A_4_Float = 0;
float _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float);
float _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float;
Unity_Multiply_float_float(_Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float);
float _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float;
Unity_Multiply_float_float(_Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float);
float _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float;
Unity_Lerp_float(_Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float, _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float, _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float);
float _Add_facc917224db51879999a44d20c9e100_Out_2_Float;
Unity_Add_float(_Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float, float(0.05), _Add_facc917224db51879999a44d20c9e100_Out_2_Float);
float _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float;
Unity_Saturate_float(_Add_facc917224db51879999a44d20c9e100_Out_2_Float, _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float);
float _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float = Vector1_2E103E32;
float _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float;
Unity_Multiply_float_float(_Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float);
float _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float;
Unity_Branch_float(_IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float, float(0), _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float);
float _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
Unity_Branch_float(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float);
float3 _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3 = Vector3_F863C863;
float _Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[0];
float _Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[1];
float _Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[2];
float _Split_233978cea2bd558992e45bf1b593c9f6_A_4_Float = 0;
float3 _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float.xxx), IN.WorldSpaceTangent, _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3);
float3 _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float.xxx), IN.WorldSpaceBiTangent, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3);
float3 _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3;
Unity_Add_float3(_Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3, _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3);
float4 _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, float4(-0.1, -0.1, -0.1, -1), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4);
float4 _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4;
Unity_Multiply_float4_float4((_Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float.xxxx), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4, _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4);
float3 _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3;
Unity_Add_float3(_Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3, (_Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4.xyz), _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3);
float3 _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3;
Unity_Normalize_float3(_Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3);
float3 _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3 = TransformWorldToTangentDir(_Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3.xyz, tangentTransform, false);
}
float3 _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3, _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3, _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3);
float3 _Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3 = TransformTangentToWorldDir(_Property_867e845d3b5417839226e67526ede381_Out_0_Vector3.xyz, tangentTransform, false).xyz;
}
float3 _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3;
Unity_Normalize_float3(_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3);
float3 _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3, _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3);
Opacity_1 = _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
NormalTangentSpace_2 = _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
NormalWorldSpace_3 = _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
}
// unity-custom-func-begin
void GetMainLightData_float(float3 PositionWS, out float3 MainLightColor, out float3 MainLightDirWS, out float MainLightShadow){
Light mainLight = GetMainLight();
MainLightColor = mainLight.color;
MainLightDirWS = mainLight.direction;
float4 shadowCoord = TransformWorldToShadowCoord(PositionWS);
MainLightShadow = MainLightRealtimeShadow(shadowCoord);
}
// unity-custom-func-end
void Unity_Negate_float(float In, out float Out)
{
Out = -1 * In;
}
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
{
Out = clamp(In, Min, Max);
}
// unity-custom-func-begin
void CalculateGGXTerm_float(float NdotH, float Roughness, out float GGXTerm){
float a2 = Roughness * Roughness;
float d = (NdotH * a2 - NdotH) * NdotH + 1.0f;
GGXTerm = 0.31830988618f * a2 / (d * d + 1e-7f);
}
// unity-custom-func-end
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float = _BillboardKwToggle;
Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv2 = IN.uv2;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv3 = IN.uv3;
float3 _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3;
SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(IN.ObjectSpacePosition, ((bool) _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float), _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515, _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3);
Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv0 = IN.uv0;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv1 = IN.uv1;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv2 = IN.uv2;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv3 = IN.uv3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3;
SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3);
description.Position = _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
description.TangentWS = IN.WorldSpaceTangent;
description.BitangentWS = IN.WorldSpaceBiTangent;
description.NormalWS = IN.WorldSpaceNormal;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float3 BaseColor;
float3 NormalWS;
float3 Emission;
float Metallic;
float Smoothness;
float Occlusion;
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
UnityTexture2D _Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_MainTex);
float4 _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4 = _Color;
float _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean = _HueVariationKwToggle;
float4 _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4 = _HueVariationColor;
float _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float = _BillboardKwToggle;
float _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean;
Unity_Comparison_Equal_float(float(1), _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean);
Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.WorldSpaceViewDirection = IN.WorldSpaceViewDirection;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.VertexColor = IN.VertexColor;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.NDCPosition = IN.NDCPosition;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.uv0 = IN.uv0;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float;
SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(_Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D, _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4, _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean, _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4, 0, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, 0, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float);
float _Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean = _NormalMapKwToggle;
UnityTexture2D _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_NormalMap);
float _Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float = Backface_Normal_Mode;
float _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(0.5), _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean);
float4 _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4 = float4(float(-1), float(-1), float(-1), float(1));
float _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(1.5), _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean);
float4 _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4 = float4(float(1), float(1), float(-1), float(1));
float4 _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4 = float4(float(1), float(1), float(1), float(1));
float4 _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4;
Unity_Branch_float4(_Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean, _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4, _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4);
float4 _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4;
Unity_Branch_float4(_Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean, _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4);
Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpacePosition = IN.WorldSpacePosition;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.FaceSign = IN.FaceSign;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.uv0 = IN.uv0;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3;
SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(_Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean, _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D, IN.TangentWS, IN.BitangentWS, IN.NormalWS, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4, 0, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3);
Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.FaceSign = IN.FaceSign;
float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float(8), _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3);
float _Property_fef8d4d378d143ebb0b97892de3c45ce_Out_0_Boolean = _SubsurfaceKwToggle;
float _Property_11442dff9b1442d78ebc3110b9f3a8f1_Out_0_Float = _SubsurfaceIndirect;
float4 _Property_709afb6693e3d48f9e0fe8353d16fabf_Out_0_Vector4 = _SubsurfaceColor;
UnityTexture2D _Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SubsurfaceTex);
float4 _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D.tex, _Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D.samplerstate, _Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_R_4_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.r;
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_G_5_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.g;
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_B_6_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.b;
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_A_7_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.a;
float4 _Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_709afb6693e3d48f9e0fe8353d16fabf_Out_0_Vector4, _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4, _Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4);
float3 _BakedGI_6c8d4189cca54b0bb31a10b8cacbef04_Out_1_Vector3 = SHADERGRAPH_BAKED_GI(IN.WorldSpacePosition, IN.WorldSpaceNormal, IN.PixelPosition.xy, IN.uv1.xy, IN.uv2.xy, true);
float3 _Multiply_b9d74182779c42ecb586225be482743b_Out_2_Vector3;
Unity_Multiply_float3_float3((_Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4.xyz), _BakedGI_6c8d4189cca54b0bb31a10b8cacbef04_Out_1_Vector3, _Multiply_b9d74182779c42ecb586225be482743b_Out_2_Vector3);
float3 _Multiply_c2d5a0f05a59489da242ba1146fdaccd_Out_2_Vector3;
Unity_Multiply_float3_float3((_Property_11442dff9b1442d78ebc3110b9f3a8f1_Out_0_Float.xxx), _Multiply_b9d74182779c42ecb586225be482743b_Out_2_Vector3, _Multiply_c2d5a0f05a59489da242ba1146fdaccd_Out_2_Vector3);
float3 _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightColor_0_Vector3;
float3 _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightDirWS_1_Vector3;
float _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightShadow_2_Float;
GetMainLightData_float(IN.WorldSpacePosition, _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightColor_0_Vector3, _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightDirWS_1_Vector3, _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightShadow_2_Float);
float _DotProduct_64dfb31347ab4d7287efb52434b8836c_Out_2_Float;
Unity_DotProduct_float3(_GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightDirWS_1_Vector3, IN.WorldSpaceViewDirection, _DotProduct_64dfb31347ab4d7287efb52434b8836c_Out_2_Float);
float _Negate_a2216566144a4988be01606302dfa265_Out_1_Float;
Unity_Negate_float(_DotProduct_64dfb31347ab4d7287efb52434b8836c_Out_2_Float, _Negate_a2216566144a4988be01606302dfa265_Out_1_Float);
float _Clamp_5bf41f6643f54da59312368ca05f4b91_Out_3_Float;
Unity_Clamp_float(_Negate_a2216566144a4988be01606302dfa265_Out_1_Float, float(0), float(1), _Clamp_5bf41f6643f54da59312368ca05f4b91_Out_3_Float);
float _Property_abefaa2e04384647ade061fbdb88d3aa_Out_0_Float = _Glossiness;
float _Multiply_ece0f3450c4140d99a7c0b11b890d0f7_Out_2_Float;
Unity_Multiply_float_float(_Property_abefaa2e04384647ade061fbdb88d3aa_Out_0_Float, 0.5, _Multiply_ece0f3450c4140d99a7c0b11b890d0f7_Out_2_Float);
float _Subtract_c17b65a47344429dbfdd50f1a9d807cd_Out_2_Float;
Unity_Subtract_float(float(0.7), _Multiply_ece0f3450c4140d99a7c0b11b890d0f7_Out_2_Float, _Subtract_c17b65a47344429dbfdd50f1a9d807cd_Out_2_Float);
float _CalculateGGXTermCustomFunction_8fb8aa09e42645e09bd84e7dfd21851d_GGXTerm_0_Float;
CalculateGGXTerm_float(_Clamp_5bf41f6643f54da59312368ca05f4b91_Out_3_Float, _Subtract_c17b65a47344429dbfdd50f1a9d807cd_Out_2_Float, _CalculateGGXTermCustomFunction_8fb8aa09e42645e09bd84e7dfd21851d_GGXTerm_0_Float);
float _Multiply_17d7dc4f6e794779910b137ed57a3b6e_Out_2_Float;
Unity_Multiply_float_float(_GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightShadow_2_Float, _CalculateGGXTermCustomFunction_8fb8aa09e42645e09bd84e7dfd21851d_GGXTerm_0_Float, _Multiply_17d7dc4f6e794779910b137ed57a3b6e_Out_2_Float);
float3 _Multiply_3ad768038acf4f4ab5dd211febf7bc35_Out_2_Vector3;
Unity_Multiply_float3_float3(_GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightColor_0_Vector3, (_Multiply_17d7dc4f6e794779910b137ed57a3b6e_Out_2_Float.xxx), _Multiply_3ad768038acf4f4ab5dd211febf7bc35_Out_2_Vector3);
float3 _Multiply_0c427f652eed4b12bd34ff8d1aec3bdb_Out_2_Vector3;
Unity_Multiply_float3_float3((_Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4.xyz), _Multiply_3ad768038acf4f4ab5dd211febf7bc35_Out_2_Vector3, _Multiply_0c427f652eed4b12bd34ff8d1aec3bdb_Out_2_Vector3);
float3 _Add_6618fd5f944b4b938837070778416aad_Out_2_Vector3;
Unity_Add_float3(_Multiply_c2d5a0f05a59489da242ba1146fdaccd_Out_2_Vector3, _Multiply_0c427f652eed4b12bd34ff8d1aec3bdb_Out_2_Vector3, _Add_6618fd5f944b4b938837070778416aad_Out_2_Vector3);
float3 _Branch_a42b5636715a40edba24cf0ca2ec62d5_Out_3_Vector3;
Unity_Branch_float3(_Property_fef8d4d378d143ebb0b97892de3c45ce_Out_0_Boolean, _Add_6618fd5f944b4b938837070778416aad_Out_2_Vector3, float3(0, 0, 0), _Branch_a42b5636715a40edba24cf0ca2ec62d5_Out_3_Vector3);
float _Property_48279be9b55d436faa7b1ab7b278a351_Out_0_Boolean = EFFECT_EXTRA_TEX;
UnityTexture2D _Property_8638437af72acc8192bde8413274eb39_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_ExtraTex);
float4 _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_8638437af72acc8192bde8413274eb39_Out_0_Texture2D.tex, _Property_8638437af72acc8192bde8413274eb39_Out_0_Texture2D.samplerstate, _Property_8638437af72acc8192bde8413274eb39_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_R_4_Float = _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_RGBA_0_Vector4.r;
float _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_G_5_Float = _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_RGBA_0_Vector4.g;
float _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_B_6_Float = _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_RGBA_0_Vector4.b;
float _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_A_7_Float = _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_RGBA_0_Vector4.a;
float _Property_975e4ca3c3d441a885839de590d8ebbe_Out_0_Float = _Metallic;
float _Branch_2b914e2e1c524f16a3c38e94a019db83_Out_3_Float;
Unity_Branch_float(_Property_48279be9b55d436faa7b1ab7b278a351_Out_0_Boolean, _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_G_5_Float, _Property_975e4ca3c3d441a885839de590d8ebbe_Out_0_Float, _Branch_2b914e2e1c524f16a3c38e94a019db83_Out_3_Float);
float _Property_fe447a1f61e3441782dffccf2d3f78c8_Out_0_Float = _Glossiness;
float _Branch_ae29a8e7441c41a5a4ab51bf4718cb17_Out_3_Float;
Unity_Branch_float(_Property_48279be9b55d436faa7b1ab7b278a351_Out_0_Boolean, _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_R_4_Float, _Property_fe447a1f61e3441782dffccf2d3f78c8_Out_0_Float, _Branch_ae29a8e7441c41a5a4ab51bf4718cb17_Out_3_Float);
float _Split_11016f2bf3d949d3a0be4f8f33b6061b_R_1_Float = IN.VertexColor[0];
float _Split_11016f2bf3d949d3a0be4f8f33b6061b_G_2_Float = IN.VertexColor[1];
float _Split_11016f2bf3d949d3a0be4f8f33b6061b_B_3_Float = IN.VertexColor[2];
float _Split_11016f2bf3d949d3a0be4f8f33b6061b_A_4_Float = IN.VertexColor[3];
float _Multiply_f184f4d5595349559fd9aa09763d75dc_Out_2_Float;
Unity_Multiply_float_float(_SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_B_6_Float, _Split_11016f2bf3d949d3a0be4f8f33b6061b_R_1_Float, _Multiply_f184f4d5595349559fd9aa09763d75dc_Out_2_Float);
float4 _Branch_f0a0b7043b014f6eabf500c706784350_Out_3_Vector4;
Unity_Branch_float4(_Property_48279be9b55d436faa7b1ab7b278a351_Out_0_Boolean, (_Multiply_f184f4d5595349559fd9aa09763d75dc_Out_2_Float.xxxx), IN.VertexColor, _Branch_f0a0b7043b014f6eabf500c706784350_Out_3_Vector4);
float _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float = _AlphaClipThreshold;
surface.BaseColor = _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
surface.NormalWS = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
surface.Emission = _Branch_a42b5636715a40edba24cf0ca2ec62d5_Out_3_Vector3;
surface.Metallic = _Branch_2b914e2e1c524f16a3c38e94a019db83_Out_3_Float;
surface.Smoothness = _Branch_ae29a8e7441c41a5a4ab51bf4718cb17_Out_3_Float;
surface.Occlusion = (_Branch_f0a0b7043b014f6eabf500c706784350_Out_3_Vector4).x;
surface.Alpha = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
surface.AlphaClipThreshold = _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float;
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.WorldSpaceTangent = TransformObjectToWorldDir(input.tangentOS.xyz);
output.ObjectSpaceBiTangent = normalize(cross(input.normalOS, input.tangentOS.xyz) * (input.tangentOS.w > 0.0f ? 1.0f : -1.0f) * GetOddNegativeScale());
output.WorldSpaceBiTangent = TransformObjectToWorldDir(output.ObjectSpaceBiTangent);
output.ObjectSpacePosition = input.positionOS;
output.uv0 = input.uv0;
output.uv1 = input.uv1;
output.uv2 = input.uv2;
output.uv3 = input.uv3;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
// must use interpolated tangent, bitangent and normal before they are normalized in the pixel shader.
float3 unnormalizedNormalWS = input.normalWS;
const float renormFactor = 1.0 / length(unnormalizedNormalWS);
// use bitangent on the fly like in hdrp
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped.
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0)* GetOddNegativeScale();
float3 bitang = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz);
output.WorldSpaceNormal = renormFactor * input.normalWS.xyz; // we want a unit length Normal Vector node in shader graph
output.ObjectSpaceNormal = normalize(mul(output.WorldSpaceNormal, (float3x3) UNITY_MATRIX_M)); // transposed multiplication by inverse matrix to handle normal scale
// to pr eserve mikktspace compliance we use same scale renormFactor as was used on the normal.
// This is explained in section 2.2 in "surface gradient based bump mapping framework"
output.WorldSpaceTangent = renormFactor * input.tangentWS.xyz;
output.WorldSpaceBiTangent = renormFactor * bitang;
output.WorldSpaceViewDirection = GetWorldSpaceNormalizeViewDir(input.positionWS);
output.WorldSpacePosition = input.positionWS;
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.uv1 = input.texCoord1;
output.uv2 = input.texCoord2;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRForwardPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
<Packages/com.unity.render-pipelines.universal/Shaders/NatureSpeedTree9_URP.shadergraph<00><><EFBFBD><EFBFBD>B<06>}P<>9?<3F>H<EFBFBD><48>Ү<EFBFBD><D2AE>@_ _WIND_SHIMMER_ _WIND_BRANCH1_ _WIND_BRANCH2_ _WIND_SHARED_ _WIND_RIPPLE_ LIGHTMAP_ON_DYNAMICLIGHTMAP_ON_DIRLIGHTMAP_COMBINED_USE_LEGACY_LIGHTMAPS_LIGHTMAP_BICUBIC_SAMPLING_REFLECTION_PROBE_ROTATION__MAIN_LIGHT_SHADOWS_MAIN_LIGHT_SHADOWS_CASCADE_MAIN_LIGHT_SHADOWS_SCREEN__ADDITIONAL_LIGHTS_VERTEX_ADDITIONAL_LIGHTS_LIGHTMAP_SHADOW_MIXING_SHADOWS_SHADOWMASK__CLUSTER_LIGHT_LOOP_EVALUATE_SH_MIXEDEVALUATE_SH_VERTEX_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_PROBE_VOLUMES_L1PROBE_VOLUMES_L2_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON__
FOG_LINEARFOG_EXPFOG_EXP2__SCREEN_SPACE_OCCLUSION__SCREEN_SPACE_IRRADIANCE__ADDITIONAL_LIGHT_SHADOWS__REFLECTION_PROBE_BLENDING_ _REFLECTION_PROBE_BOX_PROJECTION__REFLECTION_PROBE_ATLAS_ _SHADOWS_SOFT_SHADOWS_SOFT_LOW_SHADOWS_SOFT_MEDIUM_SHADOWS_SOFT_HIGH_ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3_ _LIGHT_LAYERS_ DEBUG_DISPLAY__LIGHT_COOKIES__WRITE_RENDERING_LAYERS_ LIGHTMAP_ON_DYNAMICLIGHTMAP_ON_DIRLIGHTMAP_COMBINED_USE_LEGACY_LIGHTMAPS_LIGHTMAP_BICUBIC_SAMPLING_REFLECTION_PROBE_ROTATION__MAIN_LIGHT_SHADOWS_MAIN_LIGHT_SHADOWS_CASCADE_MAIN_LIGHT_SHADOWS_SCREEN__ADDITIONAL_LIGHTS_VERTEX_ADDITIONAL_LIGHTS_LIGHTMAP_SHADOW_MIXING_SHADOWS_SHADOWMASK__CLUSTER_LIGHT_LOOP_EVALUATE_SH_MIXEDEVALUATE_SH_VERTEX_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_PROBE_VOLUMES_L1PROBE_VOLUMES_L2_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON__
FOG_LINEARFOG_EXPFOG_EXP2&_FOVEATED_RENDERING_NON_UNIFORM_RASTER DOTS_INSTANCING_ON<00><>_WRITE_RENDERING_LAYERS<00><> SHADOWS_SOFT<46>DIRLIGHTMAP_COMBINED<45>DYNAMICLIGHTMAP_ON<00>SHADOWS_SCREEN<00> INSTANCING_ONPROCEDURAL_INSTANCING_ON@STEREO_MULTIVIEW_ON<00>STEREO_INSTANCING_ON<4F>"UNITY_DEVICE_SUPPORTS_NATIVE_16BIT (UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACINGD_SCREEN_SPACE_OCCLUSION _SCREEN_SPACE_IRRADIANCE _ADDITIONAL_LIGHT_SHADOWS _REFLECTION_PROBE_BLENDING _REFLECTION_PROBE_BOX_PROJECTION _REFLECTION_PROBE_ATLAS _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 _LIGHT_LAYERS DEBUG_DISPLAY _LIGHT_COOKIES _WRITE_RENDERING_LAYERS LIGHTMAP_ON DYNAMICLIGHTMAP_ON DIRLIGHTMAP_COMBINED USE_LEGACY_LIGHTMAPS LIGHTMAP_BICUBIC_SAMPLING REFLECTION_PROBE_ROTATION _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK _CLUSTER_LIGHT_LOOP EVALUATE_SH_MIXED EVALUATE_SH_VERTEX LOD_FADE_CROSSFADE DOTS_INSTANCING_ON PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 _FOVEATED_RENDERING_NON_UNIFORM_RASTER INSTANCING_ON FOG_LINEAR FOG_EXP FOG_EXP2
S<00>S#if defined(SHADER_STAGE_VERTEX)
#define _WIND_SHIMMER_KEYWORD_DECLARED 1
#define _WIND_BRANCH1_KEYWORD_DECLARED 1
#define _WIND_BRANCH2_KEYWORD_DECLARED 1
#define _WIND_SHARED_KEYWORD_DECLARED 1
#define _WIND_RIPPLE_KEYWORD_DECLARED 1
#define LIGHTMAP_ON_KEYWORD_DECLARED 1
#define DYNAMICLIGHTMAP_ON_KEYWORD_DECLARED 1
#define DIRLIGHTMAP_COMBINED_KEYWORD_DECLARED 1
#define USE_LEGACY_LIGHTMAPS_KEYWORD_DECLARED 1
#define LIGHTMAP_BICUBIC_SAMPLING_KEYWORD_DECLARED 1
#define REFLECTION_PROBE_ROTATION_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_CASCADE_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_SCREEN_KEYWORD_DECLARED 1
#define LIGHTMAP_SHADOW_MIXING_KEYWORD_DECLARED 1
#define SHADOWS_SHADOWMASK_KEYWORD_DECLARED 1
#define _MIXED_LIGHTING_SUBTRACTIVE_KEYWORD_DECLARED 1
#define _CLUSTER_LIGHT_LOOP_KEYWORD_DECLARED 1
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define PROBE_VOLUMES_L1_KEYWORD_DECLARED 1
#define PROBE_VOLUMES_L2_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#define FOG_LINEAR_KEYWORD_DECLARED 1
#define FOG_EXP_KEYWORD_DECLARED 1
#define FOG_EXP2_KEYWORD_DECLARED 1
#endif
#if defined(SHADER_STAGE_FRAGMENT)
#define _SCREEN_SPACE_IRRADIANCE_KEYWORD_DECLARED 1
#define _REFLECTION_PROBE_BLENDING_KEYWORD_DECLARED 1
#define _REFLECTION_PROBE_BOX_PROJECTION_KEYWORD_DECLARED 1
#define _SHADOWS_SOFT_KEYWORD_DECLARED 1
#define _SHADOWS_SOFT_LOW_KEYWORD_DECLARED 1
#define _SHADOWS_SOFT_MEDIUM_KEYWORD_DECLARED 1
#define _SHADOWS_SOFT_HIGH_KEYWORD_DECLARED 1
#define _DBUFFER_MRT1_KEYWORD_DECLARED 1
#define _DBUFFER_MRT2_KEYWORD_DECLARED 1
#define _DBUFFER_MRT3_KEYWORD_DECLARED 1
#define _GBUFFER_NORMALS_OCT_KEYWORD_DECLARED 1
#define _RENDER_PASS_ENABLED_KEYWORD_DECLARED 1
#define DEBUG_DISPLAY_KEYWORD_DECLARED 1
#define _WRITE_RENDERING_LAYERS_KEYWORD_DECLARED 1
#define LIGHTMAP_ON_KEYWORD_DECLARED 1
#define DYNAMICLIGHTMAP_ON_KEYWORD_DECLARED 1
#define DIRLIGHTMAP_COMBINED_KEYWORD_DECLARED 1
#define USE_LEGACY_LIGHTMAPS_KEYWORD_DECLARED 1
#define LIGHTMAP_BICUBIC_SAMPLING_KEYWORD_DECLARED 1
#define REFLECTION_PROBE_ROTATION_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_CASCADE_KEYWORD_DECLARED 1
#define _MAIN_LIGHT_SHADOWS_SCREEN_KEYWORD_DECLARED 1
#define LIGHTMAP_SHADOW_MIXING_KEYWORD_DECLARED 1
#define SHADOWS_SHADOWMASK_KEYWORD_DECLARED 1
#define _MIXED_LIGHTING_SUBTRACTIVE_KEYWORD_DECLARED 1
#define _CLUSTER_LIGHT_LOOP_KEYWORD_DECLARED 1
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define PROBE_VOLUMES_L1_KEYWORD_DECLARED 1
#define PROBE_VOLUMES_L2_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#define FOG_LINEAR_KEYWORD_DECLARED 1
#define FOG_EXP_KEYWORD_DECLARED 1
#define FOG_EXP2_KEYWORD_DECLARED 1
#endif
cbuffer UnityDynamicKeywords {
int _FOVEATED_RENDERING_NON_UNIFORM_RASTER;
};
#line 1407 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
#define UNITY_INSTANCED_LOD_FADE
#define UNITY_INSTANCED_RENDERING_LAYER
#define UNITY_INSTANCED_SH
#define UNITY_INSTANCED_LIGHTMAPSTS
#define UNITY_INSTANCED_RENDERER_BOUNDS
#line 1407 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
/* UNITY: Original start of shader */
// Pragmas
#pragma target 4.5
#pragma exclude_renderers gles3 glcore
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma multi_compile_fragment _ _SCREEN_SPACE_IRRADIANCE
#pragma multi_compile _ LIGHTMAP_ON
#pragma multi_compile _ DYNAMICLIGHTMAP_ON
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
#pragma multi_compile _ USE_LEGACY_LIGHTMAPS
#pragma multi_compile _ LIGHTMAP_BICUBIC_SAMPLING
#pragma multi_compile _ REFLECTION_PROBE_ROTATION
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING
#pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION
#pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH
#pragma multi_compile _ LIGHTMAP_SHADOW_MIXING
#pragma multi_compile _ SHADOWS_SHADOWMASK
#pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE
#pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
#pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT
#pragma multi_compile_fragment _ _RENDER_PASS_ENABLED
#pragma multi_compile_fragment _ DEBUG_DISPLAY
#pragma multi_compile _ _CLUSTER_LIGHT_LOOP
#pragma multi_compile _ LOD_FADE_CROSSFADE
#pragma shader_feature_vertex _ _WIND_SHIMMER
#pragma shader_feature_vertex _ _WIND_BRANCH1
#pragma shader_feature_vertex _ _WIND_BRANCH2
#pragma shader_feature_vertex _ _WIND_SHARED
#pragma shader_feature_vertex _ _WIND_RIPPLE
#if defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_0
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_1
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_2
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_3
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_4
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_5
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_6
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_7
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_8
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_9
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_10
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_11
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_12
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_13
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_14
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_15
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_16
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_17
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_18
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_19
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_20
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_21
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_22
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_23
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_24
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_25
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_26
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_27
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_28
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_29
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_30
#elif defined(LOD_FADE_CROSSFADE)
#define KEYWORD_PERMUTATION_31
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_32
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_33
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_34
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_35
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_36
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_37
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_38
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_39
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_40
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_41
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_42
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_43
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_44
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_45
#elif defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_46
#elif defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_47
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_48
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_49
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_50
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_51
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_52
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_53
#elif defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_54
#elif defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_55
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_56
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_57
#elif defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_58
#elif defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_59
#elif defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_60
#elif defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_61
#elif defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_62
#else
#define KEYWORD_PERMUTATION_63
#endif
// Defines
#define _NORMALMAP 1
#define _NORMAL_DROPOFF_WS 1
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_TEXCOORD3
#define ATTRIBUTES_NEED_COLOR
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TANGENT_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_TEXCOORD1
#define VARYINGS_NEED_TEXCOORD2
#define VARYINGS_NEED_COLOR
#define VARYINGS_NEED_FOG_AND_VERTEX_LIGHT
#define VARYINGS_NEED_SHADOW_COORD
#define VARYINGS_NEED_CULLFACE
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_GBUFFER
#define _FOG_FRAGMENT 1
#define _ALPHATEST_ON 1
#define USE_UNITY_CROSSFADE 1
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ProbeVolumeVariants.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 uv3 : TEXCOORD3;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 tangentWS;
float4 texCoord0;
float4 texCoord1;
float4 texCoord2;
float4 color;
#if defined(LIGHTMAP_ON)
float2 staticLightmapUV;
#endif
#if defined(DYNAMICLIGHTMAP_ON)
float2 dynamicLightmapUV;
#endif
#if !defined(LIGHTMAP_ON)
float3 sh;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
float4 probeOcclusion;
#endif
float4 fogFactorAndVertexLight;
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
float4 shadowCoord;
#endif
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct SurfaceDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpaceViewDirection;
float3 WorldSpacePosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 VertexColor;
float FaceSign;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 WorldSpaceTangent;
float3 ObjectSpaceBiTangent;
float3 WorldSpaceBiTangent;
float3 ObjectSpacePosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 uv3;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
#if defined(LIGHTMAP_ON)
float2 staticLightmapUV : INTERP0;
#endif
#if defined(DYNAMICLIGHTMAP_ON)
float2 dynamicLightmapUV : INTERP1;
#endif
#if !defined(LIGHTMAP_ON)
float3 sh : INTERP2;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
float4 probeOcclusion : INTERP3;
#endif
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
float4 shadowCoord : INTERP4;
#endif
float4 tangentWS : INTERP5;
float4 texCoord0 : INTERP6;
float4 texCoord1 : INTERP7;
float4 texCoord2 : INTERP8;
float4 color : INTERP9;
float4 fogFactorAndVertexLight : INTERP10;
float4 packed_positionWS_NormalWSx : INTERP11;
float4 packed_normalWS_NormalWSy : INTERP12;
float4 packed_TangentWS_NormalWSz : INTERP13;
float3 BitangentWS : INTERP14;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
#if defined(LIGHTMAP_ON)
output.staticLightmapUV = input.staticLightmapUV;
#endif
#if defined(DYNAMICLIGHTMAP_ON)
output.dynamicLightmapUV = input.dynamicLightmapUV;
#endif
#if !defined(LIGHTMAP_ON)
output.sh = input.sh;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
output.probeOcclusion = input.probeOcclusion;
#endif
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
output.shadowCoord = input.shadowCoord;
#endif
output.tangentWS.xyzw = input.tangentWS;
output.texCoord0.xyzw = input.texCoord0;
output.texCoord1.xyzw = input.texCoord1;
output.texCoord2.xyzw = input.texCoord2;
output.color.xyzw = input.color;
output.fogFactorAndVertexLight.xyzw = input.fogFactorAndVertexLight;
output.packed_positionWS_NormalWSx.xyz = input.positionWS;
output.packed_positionWS_NormalWSx.w = input.NormalWS.x;
output.packed_normalWS_NormalWSy.xyz = input.normalWS;
output.packed_normalWS_NormalWSy.w = input.NormalWS.y;
output.packed_TangentWS_NormalWSz.xyz = input.TangentWS;
output.packed_TangentWS_NormalWSz.w = input.NormalWS.z;
output.BitangentWS.xyz = input.BitangentWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
#if defined(LIGHTMAP_ON)
output.staticLightmapUV = input.staticLightmapUV;
#endif
#if defined(DYNAMICLIGHTMAP_ON)
output.dynamicLightmapUV = input.dynamicLightmapUV;
#endif
#if !defined(LIGHTMAP_ON)
output.sh = input.sh;
#endif
#if defined(USE_APV_PROBE_OCCLUSION)
output.probeOcclusion = input.probeOcclusion;
#endif
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
output.shadowCoord = input.shadowCoord;
#endif
output.tangentWS = input.tangentWS.xyzw;
output.texCoord0 = input.texCoord0.xyzw;
output.texCoord1 = input.texCoord1.xyzw;
output.texCoord2 = input.texCoord2.xyzw;
output.color = input.color.xyzw;
output.fogFactorAndVertexLight = input.fogFactorAndVertexLight.xyzw;
output.positionWS = input.packed_positionWS_NormalWSx.xyz;
output.NormalWS.x = input.packed_positionWS_NormalWSx.w;
output.normalWS = input.packed_normalWS_NormalWSy.xyz;
output.NormalWS.y = input.packed_normalWS_NormalWSy.w;
output.TangentWS = input.packed_TangentWS_NormalWSz.xyz;
output.NormalWS.z = input.packed_TangentWS_NormalWSz.w;
output.BitangentWS = input.BitangentWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _MainTex_TexelSize;
float4 _Color;
float _HueVariationKwToggle;
float4 _HueVariationColor;
float _NormalMapKwToggle;
float4 _NormalMap_TexelSize;
float EFFECT_EXTRA_TEX;
float4 _ExtraTex_TexelSize;
float _Glossiness;
float _Metallic;
float _SubsurfaceKwToggle;
float _SubsurfaceIndirect;
float4 _SubsurfaceColor;
float4 _SubsurfaceTex_TexelSize;
float _AlphaClipThreshold;
float Backface_Normal_Mode;
float _BillboardKwToggle;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
TEXTURE2D(_NormalMap);
SAMPLER(sampler_NormalMap);
TEXTURE2D(_ExtraTex);
SAMPLER(sampler_ExtraTex);
TEXTURE2D(_SubsurfaceTex);
SAMPLER(sampler_SubsurfaceTex);
// Graph Includes
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTreeCommon.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTree9Wind.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/LODDitheringTransition.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float
{
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(float3 Vector3_DF61F3B, float _IsBillboard, Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float IN, out float3 ObjectSpacePositionOut_1)
{
float _Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean = _IsBillboard;
float3 _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3 = Vector3_DF61F3B;
float4 _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4 = IN.uv2;
float4 _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3;
SpeedTree9LeafFacing_float(_Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4, _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3);
float3 _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
Unity_Branch_float3(_Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean, _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3, _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3);
ObjectSpacePositionOut_1 = _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
}
void Unity_Subtract_float3(float3 A, float3 B, out float3 Out)
{
Out = A - B;
}
struct Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float
{
float3 ObjectSpaceNormal;
half4 uv0;
half4 uv1;
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(float3 _ObjectSpaceVertexPosition, Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float IN, out float3 AnimatedVertexObjectSpacePosition_1, out float3 ObjectSpaceMotionVector_2)
{
float3 _Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3 = _ObjectSpaceVertexPosition;
float4 _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4 = IN.uv0;
float4 _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4 = IN.uv1;
float4 _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4 = IN.uv2;
float4 _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 0, _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3);
float3 _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 1, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3);
float3 _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
Unity_Subtract_float3(_SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3, _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3);
AnimatedVertexObjectSpacePosition_1 = _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
ObjectSpaceMotionVector_2 = _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
}
void Unity_Comparison_Equal_float(float A, float B, out float Out)
{
Out = A == B ? 1 : 0;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Fraction_float(float In, out float Out)
{
Out = frac(In);
}
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
{
Out = lerp(A, B, T);
}
void Unity_Blend_Overlay_float4(float4 Base, float4 Blend, out float4 Out, float Opacity)
{
float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend);
float4 result2 = 2.0 * Base * Blend;
float4 zeroOrOne = step(Base, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
Out = lerp(Base, Out, Opacity);
}
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
{
Out = Predicate ? True : False;
}
void Unity_Maximum_float(float A, float B, out float Out)
{
Out = max(A, B);
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float4(float4 In, out float4 Out)
{
Out = saturate(In);
}
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float
{
float3 WorldSpaceViewDirection;
float4 VertexColor;
float2 NDCPosition;
half4 uv0;
};
void SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(UnityTexture2D Base_Map, float4 Color_Tint, float Enable_Hue_Variation, float4 Hue_Variation_Color, float Use_Old_Hue_Variation_Behavior, float Is_Billboard, float Crossfade, Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float IN, out float3 Modified_Color_1, out float Modified_Alpha_4, out float3 Original_Color_2, out float Original_Alpha_3)
{
float _Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean = Enable_Hue_Variation;
float _Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean = Use_Old_Hue_Variation_Behavior;
float4 _Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4 = Color_Tint;
UnityTexture2D _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D = Base_Map;
float4 _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.tex, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.samplerstate, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_R_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.r;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_G_5_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.g;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_B_6_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.b;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_A_7_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.a;
float4 _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4, _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4);
float4 _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4 = Hue_Variation_Color;
float _Split_1e71fee3241d42eea8e7ee1371975d5c_R_1_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[0];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_G_2_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[1];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_B_3_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[2];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[3];
float3 _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3;
{
// Converting Position from Object to AbsoluteWorld via world space
float3 world;
world = TransformObjectToWorld(float3 (0, 0, 0).xyz);
_Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3 = GetAbsolutePositionWS(world);
}
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[0];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[1];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[2];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_A_4_Float = 0;
float _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float;
Unity_Add_float(_Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float, _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float);
float _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float;
Unity_Add_float(_Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float, _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float);
float _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float;
Unity_Fraction_float(_Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float);
float _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float;
Unity_Multiply_float_float(_Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float, _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float);
float _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float;
Unity_Saturate_float(_Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4;
Unity_Lerp_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, (_Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float.xxxx), _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4);
float4 _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4;
Unity_Blend_Overlay_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4;
Unity_Branch_float4(_Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean, _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4);
float _Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[0];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[1];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[2];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_A_4_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[3];
float _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float;
Unity_Maximum_float(_Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float, _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float);
float _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float;
Unity_Maximum_float(_Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float, _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float);
float _Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[0];
float _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[1];
float _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[2];
float _Split_d9b6fd95965b407abd03352c64bd95d4_A_4_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[3];
float _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float;
Unity_Maximum_float(_Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float, _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float);
float _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float;
Unity_Maximum_float(_Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float);
float _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float;
Unity_Divide_float(_Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float, _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float);
float _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float;
Unity_Multiply_float_float(_Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float, 0.5, _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float);
float _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float;
Unity_Add_float(_Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float, float(0.5), _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float);
float4 _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4;
Unity_Multiply_float4_float4(_Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4, (_Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float.xxxx), _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4);
float4 _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4;
Unity_Saturate_float4(_Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4);
float4 _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4;
Unity_Branch_float4(_Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4);
float _Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean = Crossfade;
float _Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean = Is_Billboard;
float _Split_8e113e5414194688aa2c165814b6360b_R_1_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[0];
float _Split_8e113e5414194688aa2c165814b6360b_G_2_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[1];
float _Split_8e113e5414194688aa2c165814b6360b_B_3_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[2];
float _Split_8e113e5414194688aa2c165814b6360b_A_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[3];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_R_1_Float = IN.VertexColor[0];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_G_2_Float = IN.VertexColor[1];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_B_3_Float = IN.VertexColor[2];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float = IN.VertexColor[3];
float _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float;
Unity_Multiply_float_float(_Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float);
float _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float;
Unity_Branch_float(_Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float);
float4 _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
float _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float;
LODDitheringTransitionSG_float(IN.WorldSpaceViewDirection, _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float);
float _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float;
Unity_Multiply_float_float(_Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float);
float _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Unity_Branch_float(_Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float);
Modified_Color_1 = (_Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4.xyz);
Modified_Alpha_4 = _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Original_Color_2 = (_SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.xyz);
Original_Alpha_3 = _Split_8e113e5414194688aa2c165814b6360b_A_4_Float;
}
void Unity_Comparison_Less_float(float A, float B, out float Out)
{
Out = A < B ? 1 : 0;
}
void Unity_DotProduct_float3(float3 A, float3 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Not_float(float In, out float Out)
{
Out = !In;
}
void Unity_Or_float(float A, float B, out float Out)
{
Out = A || B;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
struct Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float
{
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpacePosition;
float FaceSign;
half4 uv0;
};
void SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(float Enable_Normal_Map, UnityTexture2D Normal_Map, float3 Interpolated_Tangent_WS, float3 Interpolated_Bitangent_WS, float3 Interpolated_Normal_WS, float4 Backside_Normal_Transform_TS, float Transform_Backside_Normals, Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float IN, out float3 NormalWS_1, out float3 NormalTS_2)
{
float _Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean = Enable_Normal_Map;
UnityTexture2D _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D = Normal_Map;
float4 _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.tex, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.samplerstate, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4);
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.r;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.g;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.b;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_A_7_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.a;
float3 _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3 = float3(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float);
float _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float;
Unity_DotProduct_float3(_Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float);
float _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean;
Unity_Comparison_Equal_float(_DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float, float(0), _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean);
float3 _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3;
Unity_Branch_float3(_Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean, float3(0, 0, 1), _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3);
float _Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean = Transform_Backside_Normals;
float _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean;
Unity_Not_float(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean);
float _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean = max(0, IN.FaceSign.x);
float _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean;
Unity_Or_float(_Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean, _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean, _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean);
float4 _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4 = Backside_Normal_Transform_TS;
float4 _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4;
Unity_Branch_float4(_Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean, float4(1, 1, 1, 1), _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4, _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4);
float3 _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3;
Unity_Multiply_float3_float3(_Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3, (_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3);
float _Split_d262d084d8a24f75a887851e71acd55c_R_1_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[0];
float _Split_d262d084d8a24f75a887851e71acd55c_G_2_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[1];
float _Split_d262d084d8a24f75a887851e71acd55c_B_3_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[2];
float _Split_d262d084d8a24f75a887851e71acd55c_A_4_Float = 0;
float3 _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3 = Interpolated_Tangent_WS;
float3 _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_R_1_Float.xxx), _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3, _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3);
float3 _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3 = Interpolated_Bitangent_WS;
float3 _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_G_2_Float.xxx), _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3);
float3 _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3;
Unity_Add_float3(_Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3, _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3);
float3 _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3 = Interpolated_Normal_WS;
float3 _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_B_3_Float.xxx), _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3);
float3 _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3;
Unity_Add_float3(_Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3);
float3 _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3 = TransformWorldToTangentDir(_Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3.xyz - IN.WorldSpacePosition, tangentTransform, false);
}
float3 _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3;
Unity_Multiply_float3_float3((_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3, _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3);
float3 _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3 = TransformTangentToWorldDir(_Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3.xyz, tangentTransform, false).xyz + IN.WorldSpacePosition;
}
float3 _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3;
Unity_Branch_float3(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3);
float3 _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
Unity_Branch_float3(_Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3, _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3);
float3 _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3 = TransformWorldToTangentDir(_Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3.xyz, tangentTransform, false);
}
NormalWS_1 = _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
NormalTS_2 = _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
}
void Unity_Subtract_float4(float4 A, float4 B, out float4 Out)
{
Out = A - B;
}
void Unity_Normalize_float4(float4 In, out float4 Out)
{
Out = normalize(In);
}
void Unity_DotProduct_float4(float4 A, float4 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Lerp_float(float A, float B, float T, out float Out)
{
Out = lerp(A, B, T);
}
void Unity_Normalize_float3(float3 In, out float3 Out)
{
Out = normalize(In);
}
struct Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float FaceSign;
};
void SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float Vector1_B7478AA2, float3 Vector3_F863C863, float Vector1_2E103E32, float Boolean_1A7045BA, Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float IN, out float Opacity_1, out float3 NormalTangentSpace_2, out float3 NormalWorldSpace_3)
{
float _Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean = Boolean_1A7045BA;
float _IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean = max(0, IN.FaceSign.x);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M0_1_Vector4 = float4(UNITY_MATRIX_M[0].r, UNITY_MATRIX_M[1].r, UNITY_MATRIX_M[2].r, UNITY_MATRIX_M[3].r);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4 = float4(UNITY_MATRIX_M[0].g, UNITY_MATRIX_M[1].g, UNITY_MATRIX_M[2].g, UNITY_MATRIX_M[3].g);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M2_3_Vector4 = float4(UNITY_MATRIX_M[0].b, UNITY_MATRIX_M[1].b, UNITY_MATRIX_M[2].b, UNITY_MATRIX_M[3].b);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4 = float4(UNITY_MATRIX_M[0].a, UNITY_MATRIX_M[1].a, UNITY_MATRIX_M[2].a, UNITY_MATRIX_M[3].a);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M0_1_Vector4 = float4(UNITY_MATRIX_I_V[0].r, UNITY_MATRIX_I_V[1].r, UNITY_MATRIX_I_V[2].r, UNITY_MATRIX_I_V[3].r);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M1_2_Vector4 = float4(UNITY_MATRIX_I_V[0].g, UNITY_MATRIX_I_V[1].g, UNITY_MATRIX_I_V[2].g, UNITY_MATRIX_I_V[3].g);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M2_3_Vector4 = float4(UNITY_MATRIX_I_V[0].b, UNITY_MATRIX_I_V[1].b, UNITY_MATRIX_I_V[2].b, UNITY_MATRIX_I_V[3].b);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4 = float4(UNITY_MATRIX_I_V[0].a, UNITY_MATRIX_I_V[1].a, UNITY_MATRIX_I_V[2].a, UNITY_MATRIX_I_V[3].a);
float4 _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4;
Unity_Subtract_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4, _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4, _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4);
float4 _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4);
float4 _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4;
Unity_Normalize_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4, _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4);
float _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float;
Unity_DotProduct_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float);
float4 _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, (_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float.xxxx), _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4);
float4 _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4;
Unity_Subtract_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4, _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4);
float4 _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4, _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4);
float _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float;
Unity_DotProduct_float3((_Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4.xyz), IN.WorldSpaceNormal, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float);
float _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float);
float _Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float = Vector1_B7478AA2;
float _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float;
Unity_Multiply_float_float(_Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float, 0.0625, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float);
float _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float;
Unity_Subtract_float(_Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float, _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float);
float _Split_dc240df11f72a383b02ff5d20177297b_R_1_Float = IN.ObjectSpaceNormal[0];
float _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float = IN.ObjectSpaceNormal[1];
float _Split_dc240df11f72a383b02ff5d20177297b_B_3_Float = IN.ObjectSpaceNormal[2];
float _Split_dc240df11f72a383b02ff5d20177297b_A_4_Float = 0;
float _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float);
float _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float;
Unity_Multiply_float_float(_Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float);
float _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float;
Unity_Multiply_float_float(_Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float);
float _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float;
Unity_Lerp_float(_Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float, _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float, _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float);
float _Add_facc917224db51879999a44d20c9e100_Out_2_Float;
Unity_Add_float(_Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float, float(0.05), _Add_facc917224db51879999a44d20c9e100_Out_2_Float);
float _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float;
Unity_Saturate_float(_Add_facc917224db51879999a44d20c9e100_Out_2_Float, _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float);
float _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float = Vector1_2E103E32;
float _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float;
Unity_Multiply_float_float(_Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float);
float _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float;
Unity_Branch_float(_IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float, float(0), _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float);
float _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
Unity_Branch_float(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float);
float3 _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3 = Vector3_F863C863;
float _Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[0];
float _Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[1];
float _Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[2];
float _Split_233978cea2bd558992e45bf1b593c9f6_A_4_Float = 0;
float3 _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float.xxx), IN.WorldSpaceTangent, _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3);
float3 _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float.xxx), IN.WorldSpaceBiTangent, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3);
float3 _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3;
Unity_Add_float3(_Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3, _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3);
float4 _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, float4(-0.1, -0.1, -0.1, -1), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4);
float4 _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4;
Unity_Multiply_float4_float4((_Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float.xxxx), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4, _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4);
float3 _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3;
Unity_Add_float3(_Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3, (_Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4.xyz), _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3);
float3 _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3;
Unity_Normalize_float3(_Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3);
float3 _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3 = TransformWorldToTangentDir(_Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3.xyz, tangentTransform, false);
}
float3 _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3, _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3, _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3);
float3 _Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3 = TransformTangentToWorldDir(_Property_867e845d3b5417839226e67526ede381_Out_0_Vector3.xyz, tangentTransform, false).xyz;
}
float3 _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3;
Unity_Normalize_float3(_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3);
float3 _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3, _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3);
Opacity_1 = _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
NormalTangentSpace_2 = _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
NormalWorldSpace_3 = _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
}
// unity-custom-func-begin
void GetMainLightData_float(float3 PositionWS, out float3 MainLightColor, out float3 MainLightDirWS, out float MainLightShadow){
Light mainLight = GetMainLight();
MainLightColor = mainLight.color;
MainLightDirWS = mainLight.direction;
float4 shadowCoord = TransformWorldToShadowCoord(PositionWS);
MainLightShadow = MainLightRealtimeShadow(shadowCoord);
}
// unity-custom-func-end
void Unity_Negate_float(float In, out float Out)
{
Out = -1 * In;
}
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
{
Out = clamp(In, Min, Max);
}
// unity-custom-func-begin
void CalculateGGXTerm_float(float NdotH, float Roughness, out float GGXTerm){
float a2 = Roughness * Roughness;
float d = (NdotH * a2 - NdotH) * NdotH + 1.0f;
GGXTerm = 0.31830988618f * a2 / (d * d + 1e-7f);
}
// unity-custom-func-end
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float = _BillboardKwToggle;
Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv2 = IN.uv2;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv3 = IN.uv3;
float3 _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3;
SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(IN.ObjectSpacePosition, ((bool) _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float), _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515, _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3);
Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv0 = IN.uv0;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv1 = IN.uv1;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv2 = IN.uv2;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv3 = IN.uv3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3;
SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3);
description.Position = _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
description.TangentWS = IN.WorldSpaceTangent;
description.BitangentWS = IN.WorldSpaceBiTangent;
description.NormalWS = IN.WorldSpaceNormal;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float3 BaseColor;
float3 NormalWS;
float3 Emission;
float Metallic;
float Smoothness;
float Occlusion;
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
UnityTexture2D _Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_MainTex);
float4 _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4 = _Color;
float _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean = _HueVariationKwToggle;
float4 _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4 = _HueVariationColor;
float _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float = _BillboardKwToggle;
float _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean;
Unity_Comparison_Equal_float(float(1), _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean);
Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.WorldSpaceViewDirection = IN.WorldSpaceViewDirection;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.VertexColor = IN.VertexColor;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.NDCPosition = IN.NDCPosition;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.uv0 = IN.uv0;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float;
SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(_Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D, _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4, _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean, _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4, 0, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, 0, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float);
float _Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean = _NormalMapKwToggle;
UnityTexture2D _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_NormalMap);
float _Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float = Backface_Normal_Mode;
float _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(0.5), _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean);
float4 _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4 = float4(float(-1), float(-1), float(-1), float(1));
float _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(1.5), _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean);
float4 _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4 = float4(float(1), float(1), float(-1), float(1));
float4 _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4 = float4(float(1), float(1), float(1), float(1));
float4 _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4;
Unity_Branch_float4(_Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean, _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4, _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4);
float4 _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4;
Unity_Branch_float4(_Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean, _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4);
Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpacePosition = IN.WorldSpacePosition;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.FaceSign = IN.FaceSign;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.uv0 = IN.uv0;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3;
SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(_Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean, _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D, IN.TangentWS, IN.BitangentWS, IN.NormalWS, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4, 0, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3);
Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.FaceSign = IN.FaceSign;
float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float(8), _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3);
float _Property_fef8d4d378d143ebb0b97892de3c45ce_Out_0_Boolean = _SubsurfaceKwToggle;
float _Property_11442dff9b1442d78ebc3110b9f3a8f1_Out_0_Float = _SubsurfaceIndirect;
float4 _Property_709afb6693e3d48f9e0fe8353d16fabf_Out_0_Vector4 = _SubsurfaceColor;
UnityTexture2D _Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SubsurfaceTex);
float4 _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D.tex, _Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D.samplerstate, _Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_R_4_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.r;
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_G_5_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.g;
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_B_6_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.b;
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_A_7_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.a;
float4 _Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_709afb6693e3d48f9e0fe8353d16fabf_Out_0_Vector4, _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4, _Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4);
float3 _BakedGI_6c8d4189cca54b0bb31a10b8cacbef04_Out_1_Vector3 = SHADERGRAPH_BAKED_GI(IN.WorldSpacePosition, IN.WorldSpaceNormal, IN.PixelPosition.xy, IN.uv1.xy, IN.uv2.xy, true);
float3 _Multiply_b9d74182779c42ecb586225be482743b_Out_2_Vector3;
Unity_Multiply_float3_float3((_Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4.xyz), _BakedGI_6c8d4189cca54b0bb31a10b8cacbef04_Out_1_Vector3, _Multiply_b9d74182779c42ecb586225be482743b_Out_2_Vector3);
float3 _Multiply_c2d5a0f05a59489da242ba1146fdaccd_Out_2_Vector3;
Unity_Multiply_float3_float3((_Property_11442dff9b1442d78ebc3110b9f3a8f1_Out_0_Float.xxx), _Multiply_b9d74182779c42ecb586225be482743b_Out_2_Vector3, _Multiply_c2d5a0f05a59489da242ba1146fdaccd_Out_2_Vector3);
float3 _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightColor_0_Vector3;
float3 _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightDirWS_1_Vector3;
float _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightShadow_2_Float;
GetMainLightData_float(IN.WorldSpacePosition, _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightColor_0_Vector3, _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightDirWS_1_Vector3, _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightShadow_2_Float);
float _DotProduct_64dfb31347ab4d7287efb52434b8836c_Out_2_Float;
Unity_DotProduct_float3(_GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightDirWS_1_Vector3, IN.WorldSpaceViewDirection, _DotProduct_64dfb31347ab4d7287efb52434b8836c_Out_2_Float);
float _Negate_a2216566144a4988be01606302dfa265_Out_1_Float;
Unity_Negate_float(_DotProduct_64dfb31347ab4d7287efb52434b8836c_Out_2_Float, _Negate_a2216566144a4988be01606302dfa265_Out_1_Float);
float _Clamp_5bf41f6643f54da59312368ca05f4b91_Out_3_Float;
Unity_Clamp_float(_Negate_a2216566144a4988be01606302dfa265_Out_1_Float, float(0), float(1), _Clamp_5bf41f6643f54da59312368ca05f4b91_Out_3_Float);
float _Property_abefaa2e04384647ade061fbdb88d3aa_Out_0_Float = _Glossiness;
float _Multiply_ece0f3450c4140d99a7c0b11b890d0f7_Out_2_Float;
Unity_Multiply_float_float(_Property_abefaa2e04384647ade061fbdb88d3aa_Out_0_Float, 0.5, _Multiply_ece0f3450c4140d99a7c0b11b890d0f7_Out_2_Float);
float _Subtract_c17b65a47344429dbfdd50f1a9d807cd_Out_2_Float;
Unity_Subtract_float(float(0.7), _Multiply_ece0f3450c4140d99a7c0b11b890d0f7_Out_2_Float, _Subtract_c17b65a47344429dbfdd50f1a9d807cd_Out_2_Float);
float _CalculateGGXTermCustomFunction_8fb8aa09e42645e09bd84e7dfd21851d_GGXTerm_0_Float;
CalculateGGXTerm_float(_Clamp_5bf41f6643f54da59312368ca05f4b91_Out_3_Float, _Subtract_c17b65a47344429dbfdd50f1a9d807cd_Out_2_Float, _CalculateGGXTermCustomFunction_8fb8aa09e42645e09bd84e7dfd21851d_GGXTerm_0_Float);
float _Multiply_17d7dc4f6e794779910b137ed57a3b6e_Out_2_Float;
Unity_Multiply_float_float(_GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightShadow_2_Float, _CalculateGGXTermCustomFunction_8fb8aa09e42645e09bd84e7dfd21851d_GGXTerm_0_Float, _Multiply_17d7dc4f6e794779910b137ed57a3b6e_Out_2_Float);
float3 _Multiply_3ad768038acf4f4ab5dd211febf7bc35_Out_2_Vector3;
Unity_Multiply_float3_float3(_GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightColor_0_Vector3, (_Multiply_17d7dc4f6e794779910b137ed57a3b6e_Out_2_Float.xxx), _Multiply_3ad768038acf4f4ab5dd211febf7bc35_Out_2_Vector3);
float3 _Multiply_0c427f652eed4b12bd34ff8d1aec3bdb_Out_2_Vector3;
Unity_Multiply_float3_float3((_Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4.xyz), _Multiply_3ad768038acf4f4ab5dd211febf7bc35_Out_2_Vector3, _Multiply_0c427f652eed4b12bd34ff8d1aec3bdb_Out_2_Vector3);
float3 _Add_6618fd5f944b4b938837070778416aad_Out_2_Vector3;
Unity_Add_float3(_Multiply_c2d5a0f05a59489da242ba1146fdaccd_Out_2_Vector3, _Multiply_0c427f652eed4b12bd34ff8d1aec3bdb_Out_2_Vector3, _Add_6618fd5f944b4b938837070778416aad_Out_2_Vector3);
float3 _Branch_a42b5636715a40edba24cf0ca2ec62d5_Out_3_Vector3;
Unity_Branch_float3(_Property_fef8d4d378d143ebb0b97892de3c45ce_Out_0_Boolean, _Add_6618fd5f944b4b938837070778416aad_Out_2_Vector3, float3(0, 0, 0), _Branch_a42b5636715a40edba24cf0ca2ec62d5_Out_3_Vector3);
float _Property_48279be9b55d436faa7b1ab7b278a351_Out_0_Boolean = EFFECT_EXTRA_TEX;
UnityTexture2D _Property_8638437af72acc8192bde8413274eb39_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_ExtraTex);
float4 _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_8638437af72acc8192bde8413274eb39_Out_0_Texture2D.tex, _Property_8638437af72acc8192bde8413274eb39_Out_0_Texture2D.samplerstate, _Property_8638437af72acc8192bde8413274eb39_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_R_4_Float = _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_RGBA_0_Vector4.r;
float _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_G_5_Float = _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_RGBA_0_Vector4.g;
float _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_B_6_Float = _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_RGBA_0_Vector4.b;
float _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_A_7_Float = _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_RGBA_0_Vector4.a;
float _Property_975e4ca3c3d441a885839de590d8ebbe_Out_0_Float = _Metallic;
float _Branch_2b914e2e1c524f16a3c38e94a019db83_Out_3_Float;
Unity_Branch_float(_Property_48279be9b55d436faa7b1ab7b278a351_Out_0_Boolean, _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_G_5_Float, _Property_975e4ca3c3d441a885839de590d8ebbe_Out_0_Float, _Branch_2b914e2e1c524f16a3c38e94a019db83_Out_3_Float);
float _Property_fe447a1f61e3441782dffccf2d3f78c8_Out_0_Float = _Glossiness;
float _Branch_ae29a8e7441c41a5a4ab51bf4718cb17_Out_3_Float;
Unity_Branch_float(_Property_48279be9b55d436faa7b1ab7b278a351_Out_0_Boolean, _SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_R_4_Float, _Property_fe447a1f61e3441782dffccf2d3f78c8_Out_0_Float, _Branch_ae29a8e7441c41a5a4ab51bf4718cb17_Out_3_Float);
float _Split_11016f2bf3d949d3a0be4f8f33b6061b_R_1_Float = IN.VertexColor[0];
float _Split_11016f2bf3d949d3a0be4f8f33b6061b_G_2_Float = IN.VertexColor[1];
float _Split_11016f2bf3d949d3a0be4f8f33b6061b_B_3_Float = IN.VertexColor[2];
float _Split_11016f2bf3d949d3a0be4f8f33b6061b_A_4_Float = IN.VertexColor[3];
float _Multiply_f184f4d5595349559fd9aa09763d75dc_Out_2_Float;
Unity_Multiply_float_float(_SampleTexture2D_7473bd75346b4e8baf63c3982cf74ef9_B_6_Float, _Split_11016f2bf3d949d3a0be4f8f33b6061b_R_1_Float, _Multiply_f184f4d5595349559fd9aa09763d75dc_Out_2_Float);
float4 _Branch_f0a0b7043b014f6eabf500c706784350_Out_3_Vector4;
Unity_Branch_float4(_Property_48279be9b55d436faa7b1ab7b278a351_Out_0_Boolean, (_Multiply_f184f4d5595349559fd9aa09763d75dc_Out_2_Float.xxxx), IN.VertexColor, _Branch_f0a0b7043b014f6eabf500c706784350_Out_3_Vector4);
float _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float = _AlphaClipThreshold;
surface.BaseColor = _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
surface.NormalWS = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
surface.Emission = _Branch_a42b5636715a40edba24cf0ca2ec62d5_Out_3_Vector3;
surface.Metallic = _Branch_2b914e2e1c524f16a3c38e94a019db83_Out_3_Float;
surface.Smoothness = _Branch_ae29a8e7441c41a5a4ab51bf4718cb17_Out_3_Float;
surface.Occlusion = (_Branch_f0a0b7043b014f6eabf500c706784350_Out_3_Vector4).x;
surface.Alpha = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
surface.AlphaClipThreshold = _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float;
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.WorldSpaceTangent = TransformObjectToWorldDir(input.tangentOS.xyz);
output.ObjectSpaceBiTangent = normalize(cross(input.normalOS, input.tangentOS.xyz) * (input.tangentOS.w > 0.0f ? 1.0f : -1.0f) * GetOddNegativeScale());
output.WorldSpaceBiTangent = TransformObjectToWorldDir(output.ObjectSpaceBiTangent);
output.ObjectSpacePosition = input.positionOS;
output.uv0 = input.uv0;
output.uv1 = input.uv1;
output.uv2 = input.uv2;
output.uv3 = input.uv3;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
// must use interpolated tangent, bitangent and normal before they are normalized in the pixel shader.
float3 unnormalizedNormalWS = input.normalWS;
const float renormFactor = 1.0 / length(unnormalizedNormalWS);
// use bitangent on the fly like in hdrp
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped.
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0)* GetOddNegativeScale();
float3 bitang = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz);
output.WorldSpaceNormal = renormFactor * input.normalWS.xyz; // we want a unit length Normal Vector node in shader graph
output.ObjectSpaceNormal = normalize(mul(output.WorldSpaceNormal, (float3x3) UNITY_MATRIX_M)); // transposed multiplication by inverse matrix to handle normal scale
// to pr eserve mikktspace compliance we use same scale renormFactor as was used on the normal.
// This is explained in section 2.2 in "surface gradient based bump mapping framework"
output.WorldSpaceTangent = renormFactor * input.tangentWS.xyz;
output.WorldSpaceBiTangent = renormFactor * bitang;
output.WorldSpaceViewDirection = GetWorldSpaceNormalizeViewDir(input.positionWS);
output.WorldSpacePosition = input.positionWS;
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.uv1 = input.texCoord1;
output.uv2 = input.texCoord2;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/GBufferOutput.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBRGBufferPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
<Packages/com.unity.render-pipelines.universal/Shaders/NatureSpeedTree9_URP.shadergraph<00>}<7D><><00>E<><45>؇<EFBFBD>;C<>-G<>ϑ<EFBFBD>@_ _WIND_SHIMMER_ _WIND_BRANCH1_ _WIND_BRANCH2_ _WIND_SHARED_ _WIND_RIPPLE_ LIGHTMAP_ON_DYNAMICLIGHTMAP_ON_DIRLIGHTMAP_COMBINED_USE_LEGACY_LIGHTMAPS_LIGHTMAP_BICUBIC_SAMPLING_REFLECTION_PROBE_ROTATION__MAIN_LIGHT_SHADOWS_MAIN_LIGHT_SHADOWS_CASCADE_MAIN_LIGHT_SHADOWS_SCREEN_LIGHTMAP_SHADOW_MIXING_SHADOWS_SHADOWMASK__MIXED_LIGHTING_SUBTRACTIVE__CLUSTER_LIGHT_LOOP_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_PROBE_VOLUMES_L1PROBE_VOLUMES_L2_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON__
FOG_LINEARFOG_EXPFOG_EXP2__SCREEN_SPACE_IRRADIANCE__REFLECTION_PROBE_BLENDING_ _REFLECTION_PROBE_BOX_PROJECTION_ _SHADOWS_SOFT_SHADOWS_SOFT_LOW_SHADOWS_SOFT_MEDIUM_SHADOWS_SOFT_HIGH_ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3__GBUFFER_NORMALS_OCT__RENDER_PASS_ENABLED_ DEBUG_DISPLAY__WRITE_RENDERING_LAYERS_ LIGHTMAP_ON_DYNAMICLIGHTMAP_ON_DIRLIGHTMAP_COMBINED_USE_LEGACY_LIGHTMAPS_LIGHTMAP_BICUBIC_SAMPLING_REFLECTION_PROBE_ROTATION__MAIN_LIGHT_SHADOWS_MAIN_LIGHT_SHADOWS_CASCADE_MAIN_LIGHT_SHADOWS_SCREEN_LIGHTMAP_SHADOW_MIXING_SHADOWS_SHADOWMASK__MIXED_LIGHTING_SUBTRACTIVE__CLUSTER_LIGHT_LOOP_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_PROBE_VOLUMES_L1PROBE_VOLUMES_L2_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON__
FOG_LINEARFOG_EXPFOG_EXP2&_FOVEATED_RENDERING_NON_UNIFORM_RASTER<00><> DOTS_INSTANCING_ON<00><>_WRITE_RENDERING_LAYERS<00><> SHADOWS_SOFT<46>DIRLIGHTMAP_COMBINED<45>DYNAMICLIGHTMAP_ON<00>SHADOWS_SCREEN<00> INSTANCING_ONPROCEDURAL_INSTANCING_ON@STEREO_MULTIVIEW_ON<00>STEREO_INSTANCING_ON<4F>"UNITY_DEVICE_SUPPORTS_NATIVE_16BIT (UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACING<00>_SCREEN_SPACE_IRRADIANCE _REFLECTION_PROBE_BLENDING _REFLECTION_PROBE_BOX_PROJECTION _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 _GBUFFER_NORMALS_OCT _RENDER_PASS_ENABLED DEBUG_DISPLAY _WRITE_RENDERING_LAYERS LIGHTMAP_ON DYNAMICLIGHTMAP_ON DIRLIGHTMAP_COMBINED USE_LEGACY_LIGHTMAPS LIGHTMAP_BICUBIC_SAMPLING REFLECTION_PROBE_ROTATION _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN LIGHTMAP_SHADOW_MIXING SHADOWS_SHADOWMASK _MIXED_LIGHTING_SUBTRACTIVE _CLUSTER_LIGHT_LOOP LOD_FADE_CROSSFADE DOTS_INSTANCING_ON PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 _FOVEATED_RENDERING_NON_UNIFORM_RASTER INSTANCING_ON FOG_LINEAR FOG_EXP FOG_EXP2<00><00>#if defined(SHADER_STAGE_VERTEX)
#define _CASTING_PUNCTUAL_LIGHT_SHADOW_KEYWORD_DECLARED 1
#define _WIND_SHIMMER_KEYWORD_DECLARED 1
#define _WIND_BRANCH1_KEYWORD_DECLARED 1
#define _WIND_BRANCH2_KEYWORD_DECLARED 1
#define _WIND_SHARED_KEYWORD_DECLARED 1
#define _WIND_RIPPLE_KEYWORD_DECLARED 1
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#endif
#if defined(SHADER_STAGE_FRAGMENT)
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#endif
cbuffer UnityDynamicKeywords {
int _FOVEATED_RENDERING_NON_UNIFORM_RASTER;
};
#line 2749 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
#define UNITY_INSTANCED_LOD_FADE
#define UNITY_INSTANCED_SH
#define UNITY_INSTANCED_LIGHTMAPSTS
#define UNITY_INSTANCED_RENDERER_BOUNDS
#line 2749 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
/* UNITY: Original start of shader */
// Pragmas
#pragma target 2.0
#pragma multi_compile_instancing
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW
#pragma multi_compile _ LOD_FADE_CROSSFADE
#pragma shader_feature_vertex _ _WIND_SHIMMER
#pragma shader_feature_vertex _ _WIND_BRANCH1
#pragma shader_feature_vertex _ _WIND_BRANCH2
#pragma shader_feature_vertex _ _WIND_SHARED
#pragma shader_feature_vertex _ _WIND_RIPPLE
#if defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_0
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_1
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_2
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_3
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_4
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_5
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_6
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_7
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_8
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_9
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_10
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_11
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_12
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_13
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_14
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_15
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_16
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_17
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_18
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_19
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_20
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_21
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_22
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_23
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_24
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_25
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_26
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_27
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_28
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_29
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_30
#elif defined(LOD_FADE_CROSSFADE)
#define KEYWORD_PERMUTATION_31
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_32
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_33
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_34
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_35
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_36
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_37
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_38
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_39
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_40
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_41
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_42
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_43
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_44
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_45
#elif defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_46
#elif defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_47
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_48
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_49
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_50
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_51
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_52
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_53
#elif defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_54
#elif defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_55
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_56
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_57
#elif defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_58
#elif defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_59
#elif defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_60
#elif defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_61
#elif defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_62
#else
#define KEYWORD_PERMUTATION_63
#endif
// Defines
#define _NORMALMAP 1
#define _NORMAL_DROPOFF_WS 1
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_TEXCOORD3
#define ATTRIBUTES_NEED_COLOR
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TANGENT_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_COLOR
#define VARYINGS_NEED_CULLFACE
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_SHADOWCASTER
#define _ALPHATEST_ON 1
#define USE_UNITY_CROSSFADE 1
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 uv3 : TEXCOORD3;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 tangentWS;
float4 texCoord0;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct SurfaceDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpaceViewDirection;
float3 WorldSpacePosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 VertexColor;
float FaceSign;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 WorldSpaceTangent;
float3 ObjectSpaceBiTangent;
float3 WorldSpaceBiTangent;
float3 ObjectSpacePosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 uv3;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 tangentWS : INTERP0;
float4 texCoord0 : INTERP1;
float4 color : INTERP2;
float4 packed_positionWS_NormalWSx : INTERP3;
float4 packed_normalWS_NormalWSy : INTERP4;
float4 packed_TangentWS_NormalWSz : INTERP5;
float3 BitangentWS : INTERP6;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.tangentWS.xyzw = input.tangentWS;
output.texCoord0.xyzw = input.texCoord0;
output.color.xyzw = input.color;
output.packed_positionWS_NormalWSx.xyz = input.positionWS;
output.packed_positionWS_NormalWSx.w = input.NormalWS.x;
output.packed_normalWS_NormalWSy.xyz = input.normalWS;
output.packed_normalWS_NormalWSy.w = input.NormalWS.y;
output.packed_TangentWS_NormalWSz.xyz = input.TangentWS;
output.packed_TangentWS_NormalWSz.w = input.NormalWS.z;
output.BitangentWS.xyz = input.BitangentWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.tangentWS = input.tangentWS.xyzw;
output.texCoord0 = input.texCoord0.xyzw;
output.color = input.color.xyzw;
output.positionWS = input.packed_positionWS_NormalWSx.xyz;
output.NormalWS.x = input.packed_positionWS_NormalWSx.w;
output.normalWS = input.packed_normalWS_NormalWSy.xyz;
output.NormalWS.y = input.packed_normalWS_NormalWSy.w;
output.TangentWS = input.packed_TangentWS_NormalWSz.xyz;
output.NormalWS.z = input.packed_TangentWS_NormalWSz.w;
output.BitangentWS = input.BitangentWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _MainTex_TexelSize;
float4 _Color;
float _HueVariationKwToggle;
float4 _HueVariationColor;
float _NormalMapKwToggle;
float4 _NormalMap_TexelSize;
float EFFECT_EXTRA_TEX;
float4 _ExtraTex_TexelSize;
float _Glossiness;
float _Metallic;
float _SubsurfaceKwToggle;
float _SubsurfaceIndirect;
float4 _SubsurfaceColor;
float4 _SubsurfaceTex_TexelSize;
float _AlphaClipThreshold;
float Backface_Normal_Mode;
float _BillboardKwToggle;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
TEXTURE2D(_NormalMap);
SAMPLER(sampler_NormalMap);
TEXTURE2D(_ExtraTex);
SAMPLER(sampler_ExtraTex);
TEXTURE2D(_SubsurfaceTex);
SAMPLER(sampler_SubsurfaceTex);
// Graph Includes
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTreeCommon.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTree9Wind.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/LODDitheringTransition.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float
{
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(float3 Vector3_DF61F3B, float _IsBillboard, Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float IN, out float3 ObjectSpacePositionOut_1)
{
float _Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean = _IsBillboard;
float3 _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3 = Vector3_DF61F3B;
float4 _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4 = IN.uv2;
float4 _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3;
SpeedTree9LeafFacing_float(_Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4, _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3);
float3 _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
Unity_Branch_float3(_Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean, _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3, _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3);
ObjectSpacePositionOut_1 = _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
}
void Unity_Subtract_float3(float3 A, float3 B, out float3 Out)
{
Out = A - B;
}
struct Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float
{
float3 ObjectSpaceNormal;
half4 uv0;
half4 uv1;
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(float3 _ObjectSpaceVertexPosition, Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float IN, out float3 AnimatedVertexObjectSpacePosition_1, out float3 ObjectSpaceMotionVector_2)
{
float3 _Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3 = _ObjectSpaceVertexPosition;
float4 _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4 = IN.uv0;
float4 _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4 = IN.uv1;
float4 _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4 = IN.uv2;
float4 _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 0, _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3);
float3 _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 1, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3);
float3 _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
Unity_Subtract_float3(_SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3, _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3);
AnimatedVertexObjectSpacePosition_1 = _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
ObjectSpaceMotionVector_2 = _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
}
void Unity_Comparison_Less_float(float A, float B, out float Out)
{
Out = A < B ? 1 : 0;
}
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
{
Out = Predicate ? True : False;
}
void Unity_DotProduct_float3(float3 A, float3 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Comparison_Equal_float(float A, float B, out float Out)
{
Out = A == B ? 1 : 0;
}
void Unity_Not_float(float In, out float Out)
{
Out = !In;
}
void Unity_Or_float(float A, float B, out float Out)
{
Out = A || B;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
struct Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float
{
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpacePosition;
float FaceSign;
half4 uv0;
};
void SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(float Enable_Normal_Map, UnityTexture2D Normal_Map, float3 Interpolated_Tangent_WS, float3 Interpolated_Bitangent_WS, float3 Interpolated_Normal_WS, float4 Backside_Normal_Transform_TS, float Transform_Backside_Normals, Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float IN, out float3 NormalWS_1, out float3 NormalTS_2)
{
float _Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean = Enable_Normal_Map;
UnityTexture2D _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D = Normal_Map;
float4 _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.tex, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.samplerstate, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4);
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.r;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.g;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.b;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_A_7_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.a;
float3 _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3 = float3(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float);
float _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float;
Unity_DotProduct_float3(_Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float);
float _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean;
Unity_Comparison_Equal_float(_DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float, float(0), _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean);
float3 _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3;
Unity_Branch_float3(_Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean, float3(0, 0, 1), _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3);
float _Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean = Transform_Backside_Normals;
float _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean;
Unity_Not_float(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean);
float _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean = max(0, IN.FaceSign.x);
float _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean;
Unity_Or_float(_Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean, _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean, _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean);
float4 _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4 = Backside_Normal_Transform_TS;
float4 _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4;
Unity_Branch_float4(_Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean, float4(1, 1, 1, 1), _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4, _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4);
float3 _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3;
Unity_Multiply_float3_float3(_Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3, (_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3);
float _Split_d262d084d8a24f75a887851e71acd55c_R_1_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[0];
float _Split_d262d084d8a24f75a887851e71acd55c_G_2_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[1];
float _Split_d262d084d8a24f75a887851e71acd55c_B_3_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[2];
float _Split_d262d084d8a24f75a887851e71acd55c_A_4_Float = 0;
float3 _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3 = Interpolated_Tangent_WS;
float3 _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_R_1_Float.xxx), _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3, _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3);
float3 _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3 = Interpolated_Bitangent_WS;
float3 _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_G_2_Float.xxx), _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3);
float3 _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3;
Unity_Add_float3(_Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3, _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3);
float3 _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3 = Interpolated_Normal_WS;
float3 _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_B_3_Float.xxx), _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3);
float3 _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3;
Unity_Add_float3(_Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3);
float3 _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3 = TransformWorldToTangentDir(_Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3.xyz - IN.WorldSpacePosition, tangentTransform, false);
}
float3 _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3;
Unity_Multiply_float3_float3((_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3, _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3);
float3 _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3 = TransformTangentToWorldDir(_Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3.xyz, tangentTransform, false).xyz + IN.WorldSpacePosition;
}
float3 _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3;
Unity_Branch_float3(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3);
float3 _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
Unity_Branch_float3(_Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3, _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3);
float3 _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3 = TransformWorldToTangentDir(_Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3.xyz, tangentTransform, false);
}
NormalWS_1 = _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
NormalTS_2 = _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Fraction_float(float In, out float Out)
{
Out = frac(In);
}
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
{
Out = lerp(A, B, T);
}
void Unity_Blend_Overlay_float4(float4 Base, float4 Blend, out float4 Out, float Opacity)
{
float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend);
float4 result2 = 2.0 * Base * Blend;
float4 zeroOrOne = step(Base, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
Out = lerp(Base, Out, Opacity);
}
void Unity_Maximum_float(float A, float B, out float Out)
{
Out = max(A, B);
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float4(float4 In, out float4 Out)
{
Out = saturate(In);
}
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float
{
float3 WorldSpaceViewDirection;
float4 VertexColor;
float2 NDCPosition;
half4 uv0;
};
void SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(UnityTexture2D Base_Map, float4 Color_Tint, float Enable_Hue_Variation, float4 Hue_Variation_Color, float Use_Old_Hue_Variation_Behavior, float Is_Billboard, float Crossfade, Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float IN, out float3 Modified_Color_1, out float Modified_Alpha_4, out float3 Original_Color_2, out float Original_Alpha_3)
{
float _Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean = Enable_Hue_Variation;
float _Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean = Use_Old_Hue_Variation_Behavior;
float4 _Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4 = Color_Tint;
UnityTexture2D _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D = Base_Map;
float4 _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.tex, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.samplerstate, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_R_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.r;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_G_5_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.g;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_B_6_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.b;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_A_7_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.a;
float4 _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4, _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4);
float4 _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4 = Hue_Variation_Color;
float _Split_1e71fee3241d42eea8e7ee1371975d5c_R_1_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[0];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_G_2_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[1];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_B_3_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[2];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[3];
float3 _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3;
{
// Converting Position from Object to AbsoluteWorld via world space
float3 world;
world = TransformObjectToWorld(float3 (0, 0, 0).xyz);
_Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3 = GetAbsolutePositionWS(world);
}
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[0];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[1];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[2];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_A_4_Float = 0;
float _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float;
Unity_Add_float(_Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float, _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float);
float _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float;
Unity_Add_float(_Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float, _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float);
float _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float;
Unity_Fraction_float(_Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float);
float _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float;
Unity_Multiply_float_float(_Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float, _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float);
float _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float;
Unity_Saturate_float(_Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4;
Unity_Lerp_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, (_Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float.xxxx), _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4);
float4 _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4;
Unity_Blend_Overlay_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4;
Unity_Branch_float4(_Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean, _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4);
float _Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[0];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[1];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[2];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_A_4_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[3];
float _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float;
Unity_Maximum_float(_Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float, _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float);
float _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float;
Unity_Maximum_float(_Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float, _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float);
float _Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[0];
float _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[1];
float _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[2];
float _Split_d9b6fd95965b407abd03352c64bd95d4_A_4_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[3];
float _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float;
Unity_Maximum_float(_Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float, _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float);
float _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float;
Unity_Maximum_float(_Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float);
float _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float;
Unity_Divide_float(_Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float, _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float);
float _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float;
Unity_Multiply_float_float(_Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float, 0.5, _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float);
float _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float;
Unity_Add_float(_Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float, float(0.5), _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float);
float4 _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4;
Unity_Multiply_float4_float4(_Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4, (_Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float.xxxx), _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4);
float4 _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4;
Unity_Saturate_float4(_Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4);
float4 _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4;
Unity_Branch_float4(_Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4);
float _Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean = Crossfade;
float _Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean = Is_Billboard;
float _Split_8e113e5414194688aa2c165814b6360b_R_1_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[0];
float _Split_8e113e5414194688aa2c165814b6360b_G_2_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[1];
float _Split_8e113e5414194688aa2c165814b6360b_B_3_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[2];
float _Split_8e113e5414194688aa2c165814b6360b_A_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[3];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_R_1_Float = IN.VertexColor[0];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_G_2_Float = IN.VertexColor[1];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_B_3_Float = IN.VertexColor[2];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float = IN.VertexColor[3];
float _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float;
Unity_Multiply_float_float(_Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float);
float _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float;
Unity_Branch_float(_Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float);
float4 _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
float _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float;
LODDitheringTransitionSG_float(IN.WorldSpaceViewDirection, _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float);
float _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float;
Unity_Multiply_float_float(_Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float);
float _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Unity_Branch_float(_Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float);
Modified_Color_1 = (_Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4.xyz);
Modified_Alpha_4 = _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Original_Color_2 = (_SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.xyz);
Original_Alpha_3 = _Split_8e113e5414194688aa2c165814b6360b_A_4_Float;
}
void Unity_Subtract_float4(float4 A, float4 B, out float4 Out)
{
Out = A - B;
}
void Unity_Normalize_float4(float4 In, out float4 Out)
{
Out = normalize(In);
}
void Unity_DotProduct_float4(float4 A, float4 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Lerp_float(float A, float B, float T, out float Out)
{
Out = lerp(A, B, T);
}
void Unity_Normalize_float3(float3 In, out float3 Out)
{
Out = normalize(In);
}
struct Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float FaceSign;
};
void SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float Vector1_B7478AA2, float3 Vector3_F863C863, float Vector1_2E103E32, float Boolean_1A7045BA, Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float IN, out float Opacity_1, out float3 NormalTangentSpace_2, out float3 NormalWorldSpace_3)
{
float _Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean = Boolean_1A7045BA;
float _IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean = max(0, IN.FaceSign.x);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M0_1_Vector4 = float4(UNITY_MATRIX_M[0].r, UNITY_MATRIX_M[1].r, UNITY_MATRIX_M[2].r, UNITY_MATRIX_M[3].r);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4 = float4(UNITY_MATRIX_M[0].g, UNITY_MATRIX_M[1].g, UNITY_MATRIX_M[2].g, UNITY_MATRIX_M[3].g);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M2_3_Vector4 = float4(UNITY_MATRIX_M[0].b, UNITY_MATRIX_M[1].b, UNITY_MATRIX_M[2].b, UNITY_MATRIX_M[3].b);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4 = float4(UNITY_MATRIX_M[0].a, UNITY_MATRIX_M[1].a, UNITY_MATRIX_M[2].a, UNITY_MATRIX_M[3].a);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M0_1_Vector4 = float4(UNITY_MATRIX_I_V[0].r, UNITY_MATRIX_I_V[1].r, UNITY_MATRIX_I_V[2].r, UNITY_MATRIX_I_V[3].r);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M1_2_Vector4 = float4(UNITY_MATRIX_I_V[0].g, UNITY_MATRIX_I_V[1].g, UNITY_MATRIX_I_V[2].g, UNITY_MATRIX_I_V[3].g);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M2_3_Vector4 = float4(UNITY_MATRIX_I_V[0].b, UNITY_MATRIX_I_V[1].b, UNITY_MATRIX_I_V[2].b, UNITY_MATRIX_I_V[3].b);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4 = float4(UNITY_MATRIX_I_V[0].a, UNITY_MATRIX_I_V[1].a, UNITY_MATRIX_I_V[2].a, UNITY_MATRIX_I_V[3].a);
float4 _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4;
Unity_Subtract_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4, _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4, _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4);
float4 _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4);
float4 _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4;
Unity_Normalize_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4, _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4);
float _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float;
Unity_DotProduct_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float);
float4 _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, (_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float.xxxx), _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4);
float4 _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4;
Unity_Subtract_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4, _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4);
float4 _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4, _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4);
float _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float;
Unity_DotProduct_float3((_Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4.xyz), IN.WorldSpaceNormal, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float);
float _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float);
float _Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float = Vector1_B7478AA2;
float _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float;
Unity_Multiply_float_float(_Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float, 0.0625, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float);
float _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float;
Unity_Subtract_float(_Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float, _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float);
float _Split_dc240df11f72a383b02ff5d20177297b_R_1_Float = IN.ObjectSpaceNormal[0];
float _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float = IN.ObjectSpaceNormal[1];
float _Split_dc240df11f72a383b02ff5d20177297b_B_3_Float = IN.ObjectSpaceNormal[2];
float _Split_dc240df11f72a383b02ff5d20177297b_A_4_Float = 0;
float _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float);
float _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float;
Unity_Multiply_float_float(_Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float);
float _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float;
Unity_Multiply_float_float(_Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float);
float _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float;
Unity_Lerp_float(_Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float, _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float, _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float);
float _Add_facc917224db51879999a44d20c9e100_Out_2_Float;
Unity_Add_float(_Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float, float(0.05), _Add_facc917224db51879999a44d20c9e100_Out_2_Float);
float _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float;
Unity_Saturate_float(_Add_facc917224db51879999a44d20c9e100_Out_2_Float, _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float);
float _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float = Vector1_2E103E32;
float _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float;
Unity_Multiply_float_float(_Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float);
float _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float;
Unity_Branch_float(_IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float, float(0), _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float);
float _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
Unity_Branch_float(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float);
float3 _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3 = Vector3_F863C863;
float _Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[0];
float _Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[1];
float _Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[2];
float _Split_233978cea2bd558992e45bf1b593c9f6_A_4_Float = 0;
float3 _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float.xxx), IN.WorldSpaceTangent, _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3);
float3 _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float.xxx), IN.WorldSpaceBiTangent, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3);
float3 _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3;
Unity_Add_float3(_Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3, _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3);
float4 _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, float4(-0.1, -0.1, -0.1, -1), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4);
float4 _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4;
Unity_Multiply_float4_float4((_Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float.xxxx), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4, _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4);
float3 _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3;
Unity_Add_float3(_Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3, (_Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4.xyz), _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3);
float3 _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3;
Unity_Normalize_float3(_Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3);
float3 _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3 = TransformWorldToTangentDir(_Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3.xyz, tangentTransform, false);
}
float3 _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3, _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3, _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3);
float3 _Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3 = TransformTangentToWorldDir(_Property_867e845d3b5417839226e67526ede381_Out_0_Vector3.xyz, tangentTransform, false).xyz;
}
float3 _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3;
Unity_Normalize_float3(_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3);
float3 _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3, _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3);
Opacity_1 = _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
NormalTangentSpace_2 = _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
NormalWorldSpace_3 = _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float = _BillboardKwToggle;
Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv2 = IN.uv2;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv3 = IN.uv3;
float3 _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3;
SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(IN.ObjectSpacePosition, ((bool) _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float), _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515, _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3);
Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv0 = IN.uv0;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv1 = IN.uv1;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv2 = IN.uv2;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv3 = IN.uv3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3;
SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3);
description.Position = _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
description.TangentWS = IN.WorldSpaceTangent;
description.BitangentWS = IN.WorldSpaceBiTangent;
description.NormalWS = IN.WorldSpaceNormal;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
float _Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean = _NormalMapKwToggle;
UnityTexture2D _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_NormalMap);
float _Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float = Backface_Normal_Mode;
float _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(0.5), _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean);
float4 _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4 = float4(float(-1), float(-1), float(-1), float(1));
float _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(1.5), _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean);
float4 _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4 = float4(float(1), float(1), float(-1), float(1));
float4 _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4 = float4(float(1), float(1), float(1), float(1));
float4 _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4;
Unity_Branch_float4(_Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean, _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4, _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4);
float4 _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4;
Unity_Branch_float4(_Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean, _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4);
Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpacePosition = IN.WorldSpacePosition;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.FaceSign = IN.FaceSign;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.uv0 = IN.uv0;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3;
SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(_Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean, _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D, IN.TangentWS, IN.BitangentWS, IN.NormalWS, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4, 0, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3);
UnityTexture2D _Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_MainTex);
float4 _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4 = _Color;
float _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean = _HueVariationKwToggle;
float4 _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4 = _HueVariationColor;
float _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float = _BillboardKwToggle;
float _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean;
Unity_Comparison_Equal_float(float(1), _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean);
Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.WorldSpaceViewDirection = IN.WorldSpaceViewDirection;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.VertexColor = IN.VertexColor;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.NDCPosition = IN.NDCPosition;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.uv0 = IN.uv0;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float;
SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(_Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D, _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4, _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean, _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4, 0, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, 0, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float);
Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.FaceSign = IN.FaceSign;
float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float(8), _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3);
float _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float = _AlphaClipThreshold;
surface.Alpha = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
surface.AlphaClipThreshold = _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float;
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.WorldSpaceTangent = TransformObjectToWorldDir(input.tangentOS.xyz);
output.ObjectSpaceBiTangent = normalize(cross(input.normalOS, input.tangentOS.xyz) * (input.tangentOS.w > 0.0f ? 1.0f : -1.0f) * GetOddNegativeScale());
output.WorldSpaceBiTangent = TransformObjectToWorldDir(output.ObjectSpaceBiTangent);
output.ObjectSpacePosition = input.positionOS;
output.uv0 = input.uv0;
output.uv1 = input.uv1;
output.uv2 = input.uv2;
output.uv3 = input.uv3;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
// must use interpolated tangent, bitangent and normal before they are normalized in the pixel shader.
float3 unnormalizedNormalWS = input.normalWS;
const float renormFactor = 1.0 / length(unnormalizedNormalWS);
// use bitangent on the fly like in hdrp
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped.
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0)* GetOddNegativeScale();
float3 bitang = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz);
output.WorldSpaceNormal = renormFactor * input.normalWS.xyz; // we want a unit length Normal Vector node in shader graph
output.ObjectSpaceNormal = normalize(mul(output.WorldSpaceNormal, (float3x3) UNITY_MATRIX_M)); // transposed multiplication by inverse matrix to handle normal scale
// to pr eserve mikktspace compliance we use same scale renormFactor as was used on the normal.
// This is explained in section 2.2 in "surface gradient based bump mapping framework"
output.WorldSpaceTangent = renormFactor * input.tangentWS.xyz;
output.WorldSpaceBiTangent = renormFactor * bitang;
output.WorldSpaceViewDirection = GetWorldSpaceNormalizeViewDir(input.positionWS);
output.WorldSpacePosition = input.positionWS;
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShadowCasterPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
<Packages/com.unity.render-pipelines.universal/Shaders/NatureSpeedTree9_URP.shadergraph<00><><EFBFBD><EFBFBD><00>
<17>E`<60>{eoe<6F><65>N<EFBFBD>@
__CASTING_PUNCTUAL_LIGHT_SHADOW_ _WIND_SHIMMER_ _WIND_BRANCH1_ _WIND_BRANCH2_ _WIND_SHARED_ _WIND_RIPPLE_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON&_FOVEATED_RENDERING_NON_UNIFORM_RASTER DOTS_INSTANCING_ON<00><> SHADOWS_SOFT<46>DIRLIGHTMAP_COMBINED<45>DYNAMICLIGHTMAP_ON<00>SHADOWS_SCREEN<00> INSTANCING_ONPROCEDURAL_INSTANCING_ON@STEREO_MULTIVIEW_ON<00>STEREO_INSTANCING_ON<4F>"UNITY_DEVICE_SUPPORTS_NATIVE_16BIT (UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACINGy_CASTING_PUNCTUAL_LIGHT_SHADOW LOD_FADE_CROSSFADE DOTS_INSTANCING_ON _FOVEATED_RENDERING_NON_UNIFORM_RASTER INSTANCING_ON<00><>\#if defined(SHADER_STAGE_VERTEX)
#define _WIND_SHIMMER_KEYWORD_DECLARED 1
#define _WIND_BRANCH1_KEYWORD_DECLARED 1
#define _WIND_BRANCH2_KEYWORD_DECLARED 1
#define _WIND_SHARED_KEYWORD_DECLARED 1
#define _WIND_RIPPLE_KEYWORD_DECLARED 1
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#endif
#if defined(SHADER_STAGE_FRAGMENT)
#define _WRITE_RENDERING_LAYERS_KEYWORD_DECLARED 1
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#endif
cbuffer UnityDynamicKeywords {
int _FOVEATED_RENDERING_NON_UNIFORM_RASTER;
};
#line 3880 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
#define UNITY_INSTANCED_LOD_FADE
#define UNITY_INSTANCED_SH
#define UNITY_INSTANCED_LIGHTMAPSTS
#define UNITY_INSTANCED_RENDERER_BOUNDS
#line 3880 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
/* UNITY: Original start of shader */
// Pragmas
#pragma target 3.5
#pragma multi_compile_instancing
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma multi_compile _ LOD_FADE_CROSSFADE
#pragma shader_feature_vertex _ _WIND_SHIMMER
#pragma shader_feature_vertex _ _WIND_BRANCH1
#pragma shader_feature_vertex _ _WIND_BRANCH2
#pragma shader_feature_vertex _ _WIND_SHARED
#pragma shader_feature_vertex _ _WIND_RIPPLE
#if defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_0
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_1
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_2
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_3
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_4
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_5
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_6
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_7
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_8
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_9
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_10
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_11
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_12
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_13
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_14
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_15
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_16
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_17
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_18
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_19
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_20
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_21
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_22
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_23
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_24
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_25
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_26
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_27
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_28
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_29
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_30
#elif defined(LOD_FADE_CROSSFADE)
#define KEYWORD_PERMUTATION_31
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_32
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_33
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_34
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_35
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_36
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_37
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_38
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_39
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_40
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_41
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_42
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_43
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_44
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_45
#elif defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_46
#elif defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_47
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_48
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_49
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_50
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_51
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_52
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_53
#elif defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_54
#elif defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_55
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_56
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_57
#elif defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_58
#elif defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_59
#elif defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_60
#elif defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_61
#elif defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_62
#else
#define KEYWORD_PERMUTATION_63
#endif
// Defines
#define _NORMALMAP 1
#define _NORMAL_DROPOFF_WS 1
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_TEXCOORD3
#define ATTRIBUTES_NEED_COLOR
#define FEATURES_GRAPH_VERTEX_MOTION_VECTOR_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TANGENT_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_COLOR
#define VARYINGS_NEED_CULLFACE
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_MOTION_VECTORS
#define _ALPHATEST_ON 1
#define USE_UNITY_CROSSFADE 1
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 uv3 : TEXCOORD3;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 tangentWS;
float4 texCoord0;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct SurfaceDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpaceViewDirection;
float3 WorldSpacePosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 VertexColor;
float FaceSign;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 ObjectSpaceBiTangent;
float3 WorldSpaceBiTangent;
float3 ObjectSpacePosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 uv3;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 tangentWS : INTERP0;
float4 texCoord0 : INTERP1;
float4 color : INTERP2;
float4 packed_positionWS_NormalWSx : INTERP3;
float4 packed_normalWS_NormalWSy : INTERP4;
float4 packed_TangentWS_NormalWSz : INTERP5;
float3 BitangentWS : INTERP6;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.tangentWS.xyzw = input.tangentWS;
output.texCoord0.xyzw = input.texCoord0;
output.color.xyzw = input.color;
output.packed_positionWS_NormalWSx.xyz = input.positionWS;
output.packed_positionWS_NormalWSx.w = input.NormalWS.x;
output.packed_normalWS_NormalWSy.xyz = input.normalWS;
output.packed_normalWS_NormalWSy.w = input.NormalWS.y;
output.packed_TangentWS_NormalWSz.xyz = input.TangentWS;
output.packed_TangentWS_NormalWSz.w = input.NormalWS.z;
output.BitangentWS.xyz = input.BitangentWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.tangentWS = input.tangentWS.xyzw;
output.texCoord0 = input.texCoord0.xyzw;
output.color = input.color.xyzw;
output.positionWS = input.packed_positionWS_NormalWSx.xyz;
output.NormalWS.x = input.packed_positionWS_NormalWSx.w;
output.normalWS = input.packed_normalWS_NormalWSy.xyz;
output.NormalWS.y = input.packed_normalWS_NormalWSy.w;
output.TangentWS = input.packed_TangentWS_NormalWSz.xyz;
output.NormalWS.z = input.packed_TangentWS_NormalWSz.w;
output.BitangentWS = input.BitangentWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _MainTex_TexelSize;
float4 _Color;
float _HueVariationKwToggle;
float4 _HueVariationColor;
float _NormalMapKwToggle;
float4 _NormalMap_TexelSize;
float EFFECT_EXTRA_TEX;
float4 _ExtraTex_TexelSize;
float _Glossiness;
float _Metallic;
float _SubsurfaceKwToggle;
float _SubsurfaceIndirect;
float4 _SubsurfaceColor;
float4 _SubsurfaceTex_TexelSize;
float _AlphaClipThreshold;
float Backface_Normal_Mode;
float _BillboardKwToggle;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
TEXTURE2D(_NormalMap);
SAMPLER(sampler_NormalMap);
TEXTURE2D(_ExtraTex);
SAMPLER(sampler_ExtraTex);
TEXTURE2D(_SubsurfaceTex);
SAMPLER(sampler_SubsurfaceTex);
// Graph Includes
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTreeCommon.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTree9Wind.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/LODDitheringTransition.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float
{
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(float3 Vector3_DF61F3B, float _IsBillboard, Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float IN, out float3 ObjectSpacePositionOut_1)
{
float _Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean = _IsBillboard;
float3 _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3 = Vector3_DF61F3B;
float4 _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4 = IN.uv2;
float4 _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3;
SpeedTree9LeafFacing_float(_Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4, _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3);
float3 _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
Unity_Branch_float3(_Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean, _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3, _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3);
ObjectSpacePositionOut_1 = _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
}
void Unity_Subtract_float3(float3 A, float3 B, out float3 Out)
{
Out = A - B;
}
struct Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float
{
float3 ObjectSpaceNormal;
half4 uv0;
half4 uv1;
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(float3 _ObjectSpaceVertexPosition, Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float IN, out float3 AnimatedVertexObjectSpacePosition_1, out float3 ObjectSpaceMotionVector_2)
{
float3 _Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3 = _ObjectSpaceVertexPosition;
float4 _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4 = IN.uv0;
float4 _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4 = IN.uv1;
float4 _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4 = IN.uv2;
float4 _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 0, _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3);
float3 _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 1, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3);
float3 _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
Unity_Subtract_float3(_SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3, _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3);
AnimatedVertexObjectSpacePosition_1 = _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
ObjectSpaceMotionVector_2 = _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
}
void Unity_Comparison_Less_float(float A, float B, out float Out)
{
Out = A < B ? 1 : 0;
}
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
{
Out = Predicate ? True : False;
}
void Unity_DotProduct_float3(float3 A, float3 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Comparison_Equal_float(float A, float B, out float Out)
{
Out = A == B ? 1 : 0;
}
void Unity_Not_float(float In, out float Out)
{
Out = !In;
}
void Unity_Or_float(float A, float B, out float Out)
{
Out = A || B;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
struct Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float
{
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpacePosition;
float FaceSign;
half4 uv0;
};
void SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(float Enable_Normal_Map, UnityTexture2D Normal_Map, float3 Interpolated_Tangent_WS, float3 Interpolated_Bitangent_WS, float3 Interpolated_Normal_WS, float4 Backside_Normal_Transform_TS, float Transform_Backside_Normals, Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float IN, out float3 NormalWS_1, out float3 NormalTS_2)
{
float _Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean = Enable_Normal_Map;
UnityTexture2D _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D = Normal_Map;
float4 _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.tex, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.samplerstate, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4);
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.r;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.g;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.b;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_A_7_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.a;
float3 _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3 = float3(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float);
float _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float;
Unity_DotProduct_float3(_Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float);
float _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean;
Unity_Comparison_Equal_float(_DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float, float(0), _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean);
float3 _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3;
Unity_Branch_float3(_Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean, float3(0, 0, 1), _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3);
float _Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean = Transform_Backside_Normals;
float _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean;
Unity_Not_float(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean);
float _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean = max(0, IN.FaceSign.x);
float _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean;
Unity_Or_float(_Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean, _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean, _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean);
float4 _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4 = Backside_Normal_Transform_TS;
float4 _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4;
Unity_Branch_float4(_Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean, float4(1, 1, 1, 1), _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4, _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4);
float3 _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3;
Unity_Multiply_float3_float3(_Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3, (_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3);
float _Split_d262d084d8a24f75a887851e71acd55c_R_1_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[0];
float _Split_d262d084d8a24f75a887851e71acd55c_G_2_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[1];
float _Split_d262d084d8a24f75a887851e71acd55c_B_3_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[2];
float _Split_d262d084d8a24f75a887851e71acd55c_A_4_Float = 0;
float3 _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3 = Interpolated_Tangent_WS;
float3 _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_R_1_Float.xxx), _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3, _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3);
float3 _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3 = Interpolated_Bitangent_WS;
float3 _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_G_2_Float.xxx), _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3);
float3 _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3;
Unity_Add_float3(_Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3, _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3);
float3 _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3 = Interpolated_Normal_WS;
float3 _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_B_3_Float.xxx), _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3);
float3 _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3;
Unity_Add_float3(_Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3);
float3 _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3 = TransformWorldToTangentDir(_Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3.xyz - IN.WorldSpacePosition, tangentTransform, false);
}
float3 _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3;
Unity_Multiply_float3_float3((_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3, _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3);
float3 _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3 = TransformTangentToWorldDir(_Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3.xyz, tangentTransform, false).xyz + IN.WorldSpacePosition;
}
float3 _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3;
Unity_Branch_float3(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3);
float3 _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
Unity_Branch_float3(_Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3, _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3);
float3 _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3 = TransformWorldToTangentDir(_Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3.xyz, tangentTransform, false);
}
NormalWS_1 = _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
NormalTS_2 = _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Fraction_float(float In, out float Out)
{
Out = frac(In);
}
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
{
Out = lerp(A, B, T);
}
void Unity_Blend_Overlay_float4(float4 Base, float4 Blend, out float4 Out, float Opacity)
{
float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend);
float4 result2 = 2.0 * Base * Blend;
float4 zeroOrOne = step(Base, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
Out = lerp(Base, Out, Opacity);
}
void Unity_Maximum_float(float A, float B, out float Out)
{
Out = max(A, B);
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float4(float4 In, out float4 Out)
{
Out = saturate(In);
}
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float
{
float3 WorldSpaceViewDirection;
float4 VertexColor;
float2 NDCPosition;
half4 uv0;
};
void SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(UnityTexture2D Base_Map, float4 Color_Tint, float Enable_Hue_Variation, float4 Hue_Variation_Color, float Use_Old_Hue_Variation_Behavior, float Is_Billboard, float Crossfade, Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float IN, out float3 Modified_Color_1, out float Modified_Alpha_4, out float3 Original_Color_2, out float Original_Alpha_3)
{
float _Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean = Enable_Hue_Variation;
float _Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean = Use_Old_Hue_Variation_Behavior;
float4 _Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4 = Color_Tint;
UnityTexture2D _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D = Base_Map;
float4 _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.tex, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.samplerstate, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_R_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.r;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_G_5_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.g;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_B_6_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.b;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_A_7_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.a;
float4 _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4, _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4);
float4 _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4 = Hue_Variation_Color;
float _Split_1e71fee3241d42eea8e7ee1371975d5c_R_1_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[0];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_G_2_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[1];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_B_3_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[2];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[3];
float3 _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3;
{
// Converting Position from Object to AbsoluteWorld via world space
float3 world;
world = TransformObjectToWorld(float3 (0, 0, 0).xyz);
_Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3 = GetAbsolutePositionWS(world);
}
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[0];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[1];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[2];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_A_4_Float = 0;
float _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float;
Unity_Add_float(_Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float, _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float);
float _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float;
Unity_Add_float(_Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float, _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float);
float _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float;
Unity_Fraction_float(_Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float);
float _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float;
Unity_Multiply_float_float(_Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float, _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float);
float _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float;
Unity_Saturate_float(_Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4;
Unity_Lerp_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, (_Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float.xxxx), _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4);
float4 _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4;
Unity_Blend_Overlay_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4;
Unity_Branch_float4(_Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean, _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4);
float _Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[0];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[1];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[2];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_A_4_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[3];
float _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float;
Unity_Maximum_float(_Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float, _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float);
float _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float;
Unity_Maximum_float(_Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float, _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float);
float _Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[0];
float _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[1];
float _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[2];
float _Split_d9b6fd95965b407abd03352c64bd95d4_A_4_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[3];
float _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float;
Unity_Maximum_float(_Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float, _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float);
float _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float;
Unity_Maximum_float(_Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float);
float _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float;
Unity_Divide_float(_Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float, _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float);
float _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float;
Unity_Multiply_float_float(_Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float, 0.5, _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float);
float _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float;
Unity_Add_float(_Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float, float(0.5), _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float);
float4 _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4;
Unity_Multiply_float4_float4(_Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4, (_Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float.xxxx), _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4);
float4 _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4;
Unity_Saturate_float4(_Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4);
float4 _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4;
Unity_Branch_float4(_Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4);
float _Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean = Crossfade;
float _Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean = Is_Billboard;
float _Split_8e113e5414194688aa2c165814b6360b_R_1_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[0];
float _Split_8e113e5414194688aa2c165814b6360b_G_2_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[1];
float _Split_8e113e5414194688aa2c165814b6360b_B_3_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[2];
float _Split_8e113e5414194688aa2c165814b6360b_A_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[3];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_R_1_Float = IN.VertexColor[0];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_G_2_Float = IN.VertexColor[1];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_B_3_Float = IN.VertexColor[2];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float = IN.VertexColor[3];
float _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float;
Unity_Multiply_float_float(_Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float);
float _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float;
Unity_Branch_float(_Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float);
float4 _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
float _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float;
LODDitheringTransitionSG_float(IN.WorldSpaceViewDirection, _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float);
float _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float;
Unity_Multiply_float_float(_Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float);
float _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Unity_Branch_float(_Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float);
Modified_Color_1 = (_Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4.xyz);
Modified_Alpha_4 = _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Original_Color_2 = (_SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.xyz);
Original_Alpha_3 = _Split_8e113e5414194688aa2c165814b6360b_A_4_Float;
}
void Unity_Subtract_float4(float4 A, float4 B, out float4 Out)
{
Out = A - B;
}
void Unity_Normalize_float4(float4 In, out float4 Out)
{
Out = normalize(In);
}
void Unity_DotProduct_float4(float4 A, float4 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Lerp_float(float A, float B, float T, out float Out)
{
Out = lerp(A, B, T);
}
void Unity_Normalize_float3(float3 In, out float3 Out)
{
Out = normalize(In);
}
struct Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float FaceSign;
};
void SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float Vector1_B7478AA2, float3 Vector3_F863C863, float Vector1_2E103E32, float Boolean_1A7045BA, Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float IN, out float Opacity_1, out float3 NormalTangentSpace_2, out float3 NormalWorldSpace_3)
{
float _Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean = Boolean_1A7045BA;
float _IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean = max(0, IN.FaceSign.x);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M0_1_Vector4 = float4(UNITY_MATRIX_M[0].r, UNITY_MATRIX_M[1].r, UNITY_MATRIX_M[2].r, UNITY_MATRIX_M[3].r);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4 = float4(UNITY_MATRIX_M[0].g, UNITY_MATRIX_M[1].g, UNITY_MATRIX_M[2].g, UNITY_MATRIX_M[3].g);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M2_3_Vector4 = float4(UNITY_MATRIX_M[0].b, UNITY_MATRIX_M[1].b, UNITY_MATRIX_M[2].b, UNITY_MATRIX_M[3].b);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4 = float4(UNITY_MATRIX_M[0].a, UNITY_MATRIX_M[1].a, UNITY_MATRIX_M[2].a, UNITY_MATRIX_M[3].a);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M0_1_Vector4 = float4(UNITY_MATRIX_I_V[0].r, UNITY_MATRIX_I_V[1].r, UNITY_MATRIX_I_V[2].r, UNITY_MATRIX_I_V[3].r);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M1_2_Vector4 = float4(UNITY_MATRIX_I_V[0].g, UNITY_MATRIX_I_V[1].g, UNITY_MATRIX_I_V[2].g, UNITY_MATRIX_I_V[3].g);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M2_3_Vector4 = float4(UNITY_MATRIX_I_V[0].b, UNITY_MATRIX_I_V[1].b, UNITY_MATRIX_I_V[2].b, UNITY_MATRIX_I_V[3].b);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4 = float4(UNITY_MATRIX_I_V[0].a, UNITY_MATRIX_I_V[1].a, UNITY_MATRIX_I_V[2].a, UNITY_MATRIX_I_V[3].a);
float4 _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4;
Unity_Subtract_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4, _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4, _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4);
float4 _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4);
float4 _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4;
Unity_Normalize_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4, _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4);
float _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float;
Unity_DotProduct_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float);
float4 _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, (_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float.xxxx), _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4);
float4 _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4;
Unity_Subtract_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4, _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4);
float4 _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4, _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4);
float _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float;
Unity_DotProduct_float3((_Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4.xyz), IN.WorldSpaceNormal, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float);
float _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float);
float _Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float = Vector1_B7478AA2;
float _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float;
Unity_Multiply_float_float(_Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float, 0.0625, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float);
float _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float;
Unity_Subtract_float(_Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float, _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float);
float _Split_dc240df11f72a383b02ff5d20177297b_R_1_Float = IN.ObjectSpaceNormal[0];
float _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float = IN.ObjectSpaceNormal[1];
float _Split_dc240df11f72a383b02ff5d20177297b_B_3_Float = IN.ObjectSpaceNormal[2];
float _Split_dc240df11f72a383b02ff5d20177297b_A_4_Float = 0;
float _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float);
float _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float;
Unity_Multiply_float_float(_Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float);
float _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float;
Unity_Multiply_float_float(_Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float);
float _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float;
Unity_Lerp_float(_Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float, _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float, _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float);
float _Add_facc917224db51879999a44d20c9e100_Out_2_Float;
Unity_Add_float(_Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float, float(0.05), _Add_facc917224db51879999a44d20c9e100_Out_2_Float);
float _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float;
Unity_Saturate_float(_Add_facc917224db51879999a44d20c9e100_Out_2_Float, _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float);
float _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float = Vector1_2E103E32;
float _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float;
Unity_Multiply_float_float(_Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float);
float _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float;
Unity_Branch_float(_IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float, float(0), _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float);
float _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
Unity_Branch_float(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float);
float3 _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3 = Vector3_F863C863;
float _Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[0];
float _Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[1];
float _Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[2];
float _Split_233978cea2bd558992e45bf1b593c9f6_A_4_Float = 0;
float3 _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float.xxx), IN.WorldSpaceTangent, _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3);
float3 _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float.xxx), IN.WorldSpaceBiTangent, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3);
float3 _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3;
Unity_Add_float3(_Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3, _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3);
float4 _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, float4(-0.1, -0.1, -0.1, -1), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4);
float4 _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4;
Unity_Multiply_float4_float4((_Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float.xxxx), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4, _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4);
float3 _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3;
Unity_Add_float3(_Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3, (_Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4.xyz), _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3);
float3 _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3;
Unity_Normalize_float3(_Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3);
float3 _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3 = TransformWorldToTangentDir(_Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3.xyz, tangentTransform, false);
}
float3 _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3, _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3, _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3);
float3 _Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3 = TransformTangentToWorldDir(_Property_867e845d3b5417839226e67526ede381_Out_0_Vector3.xyz, tangentTransform, false).xyz;
}
float3 _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3;
Unity_Normalize_float3(_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3);
float3 _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3, _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3);
Opacity_1 = _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
NormalTangentSpace_2 = _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
NormalWorldSpace_3 = _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 MotionVector;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float = _BillboardKwToggle;
Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv2 = IN.uv2;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv3 = IN.uv3;
float3 _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3;
SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(IN.ObjectSpacePosition, ((bool) _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float), _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515, _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3);
Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv0 = IN.uv0;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv1 = IN.uv1;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv2 = IN.uv2;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv3 = IN.uv3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3;
SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3);
description.Position = _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
description.MotionVector = _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3;
description.TangentWS = IN.WorldSpaceTangent;
description.BitangentWS = IN.WorldSpaceBiTangent;
description.NormalWS = IN.WorldSpaceNormal;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
float _Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean = _NormalMapKwToggle;
UnityTexture2D _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_NormalMap);
float _Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float = Backface_Normal_Mode;
float _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(0.5), _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean);
float4 _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4 = float4(float(-1), float(-1), float(-1), float(1));
float _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(1.5), _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean);
float4 _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4 = float4(float(1), float(1), float(-1), float(1));
float4 _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4 = float4(float(1), float(1), float(1), float(1));
float4 _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4;
Unity_Branch_float4(_Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean, _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4, _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4);
float4 _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4;
Unity_Branch_float4(_Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean, _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4);
Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpacePosition = IN.WorldSpacePosition;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.FaceSign = IN.FaceSign;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.uv0 = IN.uv0;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3;
SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(_Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean, _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D, IN.TangentWS, IN.BitangentWS, IN.NormalWS, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4, 0, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3);
UnityTexture2D _Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_MainTex);
float4 _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4 = _Color;
float _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean = _HueVariationKwToggle;
float4 _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4 = _HueVariationColor;
float _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float = _BillboardKwToggle;
float _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean;
Unity_Comparison_Equal_float(float(1), _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean);
Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.WorldSpaceViewDirection = IN.WorldSpaceViewDirection;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.VertexColor = IN.VertexColor;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.NDCPosition = IN.NDCPosition;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.uv0 = IN.uv0;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float;
SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(_Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D, _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4, _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean, _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4, 0, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, 0, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float);
Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.FaceSign = IN.FaceSign;
float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float(8), _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3);
float _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float = _AlphaClipThreshold;
surface.Alpha = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
surface.AlphaClipThreshold = _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float;
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.WorldSpaceTangent = TransformObjectToWorldDir(input.tangentOS.xyz);
output.ObjectSpaceBiTangent = normalize(cross(input.normalOS, input.tangentOS.xyz) * (input.tangentOS.w > 0.0f ? 1.0f : -1.0f) * GetOddNegativeScale());
output.WorldSpaceBiTangent = TransformObjectToWorldDir(output.ObjectSpaceBiTangent);
output.ObjectSpacePosition = input.positionOS;
output.uv0 = input.uv0;
output.uv1 = input.uv1;
output.uv2 = input.uv2;
output.uv3 = input.uv3;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
// must use interpolated tangent, bitangent and normal before they are normalized in the pixel shader.
float3 unnormalizedNormalWS = input.normalWS;
const float renormFactor = 1.0 / length(unnormalizedNormalWS);
// use bitangent on the fly like in hdrp
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped.
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0)* GetOddNegativeScale();
float3 bitang = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz);
output.WorldSpaceNormal = renormFactor * input.normalWS.xyz; // we want a unit length Normal Vector node in shader graph
output.ObjectSpaceNormal = normalize(mul(output.WorldSpaceNormal, (float3x3) UNITY_MATRIX_M)); // transposed multiplication by inverse matrix to handle normal scale
// to pr eserve mikktspace compliance we use same scale renormFactor as was used on the normal.
// This is explained in section 2.2 in "surface gradient based bump mapping framework"
output.WorldSpaceTangent = renormFactor * input.tangentWS.xyz;
output.WorldSpaceBiTangent = renormFactor * bitang;
output.WorldSpaceViewDirection = GetWorldSpaceNormalizeViewDir(input.positionWS);
output.WorldSpacePosition = input.positionWS;
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/MotionVectorPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
<Packages/com.unity.render-pipelines.universal/Shaders/NatureSpeedTree9_URP.shadergraph<00><><EFBFBD><EFBFBD>*:<3A>j<EFBFBD>.<2E>"<22><> <20>z'<1A>Q@ _ _WIND_SHIMMER_ _WIND_BRANCH1_ _WIND_BRANCH2_ _WIND_SHARED_ _WIND_RIPPLE_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON__WRITE_RENDERING_LAYERS_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON&_FOVEATED_RENDERING_NON_UNIFORM_RASTER<00> DOTS_INSTANCING_ON<00><>_WRITE_RENDERING_LAYERS<00><> SHADOWS_SOFT<46>DIRLIGHTMAP_COMBINED<45>DYNAMICLIGHTMAP_ON<00>SHADOWS_SCREEN<00> INSTANCING_ONPROCEDURAL_INSTANCING_ON@STEREO_MULTIVIEW_ON<00>STEREO_INSTANCING_ON<4F>"UNITY_DEVICE_SUPPORTS_NATIVE_16BIT (UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACINGr_WRITE_RENDERING_LAYERS LOD_FADE_CROSSFADE DOTS_INSTANCING_ON _FOVEATED_RENDERING_NON_UNIFORM_RASTER INSTANCING_ON<00><>:#if defined(SHADER_STAGE_VERTEX)
#define _WIND_SHIMMER_KEYWORD_DECLARED 1
#define _WIND_BRANCH1_KEYWORD_DECLARED 1
#define _WIND_BRANCH2_KEYWORD_DECLARED 1
#define _WIND_SHARED_KEYWORD_DECLARED 1
#define _WIND_RIPPLE_KEYWORD_DECLARED 1
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#endif
#if defined(SHADER_STAGE_FRAGMENT)
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#endif
cbuffer UnityDynamicKeywords {
int _FOVEATED_RENDERING_NON_UNIFORM_RASTER;
};
#line 5006 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
#define UNITY_INSTANCED_LOD_FADE
#define UNITY_INSTANCED_SH
#define UNITY_INSTANCED_LIGHTMAPSTS
#define UNITY_INSTANCED_RENDERER_BOUNDS
#line 5006 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
/* UNITY: Original start of shader */
// Pragmas
#pragma target 2.0
#pragma multi_compile_instancing
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma multi_compile _ LOD_FADE_CROSSFADE
#pragma shader_feature_vertex _ _WIND_SHIMMER
#pragma shader_feature_vertex _ _WIND_BRANCH1
#pragma shader_feature_vertex _ _WIND_BRANCH2
#pragma shader_feature_vertex _ _WIND_SHARED
#pragma shader_feature_vertex _ _WIND_RIPPLE
#if defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_0
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_1
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_2
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_3
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_4
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_5
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_6
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_7
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_8
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_9
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_10
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_11
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_12
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_13
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_14
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_15
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_16
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_17
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_18
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_19
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_20
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_21
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_22
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_23
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_24
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_25
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_26
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_27
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_28
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_29
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_30
#elif defined(LOD_FADE_CROSSFADE)
#define KEYWORD_PERMUTATION_31
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_32
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_33
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_34
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_35
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_36
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_37
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_38
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_39
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_40
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_41
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_42
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_43
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_44
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_45
#elif defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_46
#elif defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_47
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_48
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_49
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_50
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_51
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_52
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_53
#elif defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_54
#elif defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_55
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_56
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_57
#elif defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_58
#elif defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_59
#elif defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_60
#elif defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_61
#elif defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_62
#else
#define KEYWORD_PERMUTATION_63
#endif
// Defines
#define _NORMALMAP 1
#define _NORMAL_DROPOFF_WS 1
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_TEXCOORD3
#define ATTRIBUTES_NEED_COLOR
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TANGENT_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_COLOR
#define VARYINGS_NEED_CULLFACE
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_DEPTHONLY
#define _ALPHATEST_ON 1
#define USE_UNITY_CROSSFADE 1
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 uv3 : TEXCOORD3;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 tangentWS;
float4 texCoord0;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct SurfaceDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpaceViewDirection;
float3 WorldSpacePosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 VertexColor;
float FaceSign;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 WorldSpaceTangent;
float3 ObjectSpaceBiTangent;
float3 WorldSpaceBiTangent;
float3 ObjectSpacePosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 uv3;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 tangentWS : INTERP0;
float4 texCoord0 : INTERP1;
float4 color : INTERP2;
float4 packed_positionWS_NormalWSx : INTERP3;
float4 packed_normalWS_NormalWSy : INTERP4;
float4 packed_TangentWS_NormalWSz : INTERP5;
float3 BitangentWS : INTERP6;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.tangentWS.xyzw = input.tangentWS;
output.texCoord0.xyzw = input.texCoord0;
output.color.xyzw = input.color;
output.packed_positionWS_NormalWSx.xyz = input.positionWS;
output.packed_positionWS_NormalWSx.w = input.NormalWS.x;
output.packed_normalWS_NormalWSy.xyz = input.normalWS;
output.packed_normalWS_NormalWSy.w = input.NormalWS.y;
output.packed_TangentWS_NormalWSz.xyz = input.TangentWS;
output.packed_TangentWS_NormalWSz.w = input.NormalWS.z;
output.BitangentWS.xyz = input.BitangentWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.tangentWS = input.tangentWS.xyzw;
output.texCoord0 = input.texCoord0.xyzw;
output.color = input.color.xyzw;
output.positionWS = input.packed_positionWS_NormalWSx.xyz;
output.NormalWS.x = input.packed_positionWS_NormalWSx.w;
output.normalWS = input.packed_normalWS_NormalWSy.xyz;
output.NormalWS.y = input.packed_normalWS_NormalWSy.w;
output.TangentWS = input.packed_TangentWS_NormalWSz.xyz;
output.NormalWS.z = input.packed_TangentWS_NormalWSz.w;
output.BitangentWS = input.BitangentWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _MainTex_TexelSize;
float4 _Color;
float _HueVariationKwToggle;
float4 _HueVariationColor;
float _NormalMapKwToggle;
float4 _NormalMap_TexelSize;
float EFFECT_EXTRA_TEX;
float4 _ExtraTex_TexelSize;
float _Glossiness;
float _Metallic;
float _SubsurfaceKwToggle;
float _SubsurfaceIndirect;
float4 _SubsurfaceColor;
float4 _SubsurfaceTex_TexelSize;
float _AlphaClipThreshold;
float Backface_Normal_Mode;
float _BillboardKwToggle;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
TEXTURE2D(_NormalMap);
SAMPLER(sampler_NormalMap);
TEXTURE2D(_ExtraTex);
SAMPLER(sampler_ExtraTex);
TEXTURE2D(_SubsurfaceTex);
SAMPLER(sampler_SubsurfaceTex);
// Graph Includes
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTreeCommon.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTree9Wind.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/LODDitheringTransition.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float
{
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(float3 Vector3_DF61F3B, float _IsBillboard, Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float IN, out float3 ObjectSpacePositionOut_1)
{
float _Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean = _IsBillboard;
float3 _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3 = Vector3_DF61F3B;
float4 _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4 = IN.uv2;
float4 _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3;
SpeedTree9LeafFacing_float(_Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4, _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3);
float3 _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
Unity_Branch_float3(_Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean, _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3, _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3);
ObjectSpacePositionOut_1 = _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
}
void Unity_Subtract_float3(float3 A, float3 B, out float3 Out)
{
Out = A - B;
}
struct Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float
{
float3 ObjectSpaceNormal;
half4 uv0;
half4 uv1;
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(float3 _ObjectSpaceVertexPosition, Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float IN, out float3 AnimatedVertexObjectSpacePosition_1, out float3 ObjectSpaceMotionVector_2)
{
float3 _Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3 = _ObjectSpaceVertexPosition;
float4 _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4 = IN.uv0;
float4 _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4 = IN.uv1;
float4 _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4 = IN.uv2;
float4 _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 0, _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3);
float3 _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 1, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3);
float3 _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
Unity_Subtract_float3(_SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3, _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3);
AnimatedVertexObjectSpacePosition_1 = _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
ObjectSpaceMotionVector_2 = _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
}
void Unity_Comparison_Less_float(float A, float B, out float Out)
{
Out = A < B ? 1 : 0;
}
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
{
Out = Predicate ? True : False;
}
void Unity_DotProduct_float3(float3 A, float3 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Comparison_Equal_float(float A, float B, out float Out)
{
Out = A == B ? 1 : 0;
}
void Unity_Not_float(float In, out float Out)
{
Out = !In;
}
void Unity_Or_float(float A, float B, out float Out)
{
Out = A || B;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
struct Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float
{
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpacePosition;
float FaceSign;
half4 uv0;
};
void SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(float Enable_Normal_Map, UnityTexture2D Normal_Map, float3 Interpolated_Tangent_WS, float3 Interpolated_Bitangent_WS, float3 Interpolated_Normal_WS, float4 Backside_Normal_Transform_TS, float Transform_Backside_Normals, Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float IN, out float3 NormalWS_1, out float3 NormalTS_2)
{
float _Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean = Enable_Normal_Map;
UnityTexture2D _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D = Normal_Map;
float4 _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.tex, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.samplerstate, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4);
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.r;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.g;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.b;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_A_7_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.a;
float3 _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3 = float3(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float);
float _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float;
Unity_DotProduct_float3(_Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float);
float _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean;
Unity_Comparison_Equal_float(_DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float, float(0), _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean);
float3 _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3;
Unity_Branch_float3(_Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean, float3(0, 0, 1), _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3);
float _Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean = Transform_Backside_Normals;
float _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean;
Unity_Not_float(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean);
float _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean = max(0, IN.FaceSign.x);
float _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean;
Unity_Or_float(_Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean, _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean, _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean);
float4 _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4 = Backside_Normal_Transform_TS;
float4 _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4;
Unity_Branch_float4(_Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean, float4(1, 1, 1, 1), _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4, _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4);
float3 _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3;
Unity_Multiply_float3_float3(_Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3, (_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3);
float _Split_d262d084d8a24f75a887851e71acd55c_R_1_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[0];
float _Split_d262d084d8a24f75a887851e71acd55c_G_2_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[1];
float _Split_d262d084d8a24f75a887851e71acd55c_B_3_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[2];
float _Split_d262d084d8a24f75a887851e71acd55c_A_4_Float = 0;
float3 _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3 = Interpolated_Tangent_WS;
float3 _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_R_1_Float.xxx), _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3, _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3);
float3 _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3 = Interpolated_Bitangent_WS;
float3 _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_G_2_Float.xxx), _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3);
float3 _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3;
Unity_Add_float3(_Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3, _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3);
float3 _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3 = Interpolated_Normal_WS;
float3 _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_B_3_Float.xxx), _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3);
float3 _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3;
Unity_Add_float3(_Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3);
float3 _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3 = TransformWorldToTangentDir(_Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3.xyz - IN.WorldSpacePosition, tangentTransform, false);
}
float3 _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3;
Unity_Multiply_float3_float3((_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3, _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3);
float3 _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3 = TransformTangentToWorldDir(_Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3.xyz, tangentTransform, false).xyz + IN.WorldSpacePosition;
}
float3 _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3;
Unity_Branch_float3(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3);
float3 _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
Unity_Branch_float3(_Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3, _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3);
float3 _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3 = TransformWorldToTangentDir(_Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3.xyz, tangentTransform, false);
}
NormalWS_1 = _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
NormalTS_2 = _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Fraction_float(float In, out float Out)
{
Out = frac(In);
}
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
{
Out = lerp(A, B, T);
}
void Unity_Blend_Overlay_float4(float4 Base, float4 Blend, out float4 Out, float Opacity)
{
float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend);
float4 result2 = 2.0 * Base * Blend;
float4 zeroOrOne = step(Base, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
Out = lerp(Base, Out, Opacity);
}
void Unity_Maximum_float(float A, float B, out float Out)
{
Out = max(A, B);
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float4(float4 In, out float4 Out)
{
Out = saturate(In);
}
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float
{
float3 WorldSpaceViewDirection;
float4 VertexColor;
float2 NDCPosition;
half4 uv0;
};
void SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(UnityTexture2D Base_Map, float4 Color_Tint, float Enable_Hue_Variation, float4 Hue_Variation_Color, float Use_Old_Hue_Variation_Behavior, float Is_Billboard, float Crossfade, Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float IN, out float3 Modified_Color_1, out float Modified_Alpha_4, out float3 Original_Color_2, out float Original_Alpha_3)
{
float _Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean = Enable_Hue_Variation;
float _Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean = Use_Old_Hue_Variation_Behavior;
float4 _Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4 = Color_Tint;
UnityTexture2D _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D = Base_Map;
float4 _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.tex, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.samplerstate, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_R_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.r;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_G_5_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.g;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_B_6_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.b;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_A_7_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.a;
float4 _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4, _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4);
float4 _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4 = Hue_Variation_Color;
float _Split_1e71fee3241d42eea8e7ee1371975d5c_R_1_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[0];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_G_2_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[1];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_B_3_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[2];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[3];
float3 _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3;
{
// Converting Position from Object to AbsoluteWorld via world space
float3 world;
world = TransformObjectToWorld(float3 (0, 0, 0).xyz);
_Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3 = GetAbsolutePositionWS(world);
}
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[0];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[1];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[2];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_A_4_Float = 0;
float _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float;
Unity_Add_float(_Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float, _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float);
float _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float;
Unity_Add_float(_Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float, _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float);
float _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float;
Unity_Fraction_float(_Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float);
float _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float;
Unity_Multiply_float_float(_Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float, _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float);
float _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float;
Unity_Saturate_float(_Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4;
Unity_Lerp_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, (_Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float.xxxx), _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4);
float4 _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4;
Unity_Blend_Overlay_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4;
Unity_Branch_float4(_Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean, _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4);
float _Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[0];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[1];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[2];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_A_4_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[3];
float _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float;
Unity_Maximum_float(_Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float, _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float);
float _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float;
Unity_Maximum_float(_Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float, _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float);
float _Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[0];
float _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[1];
float _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[2];
float _Split_d9b6fd95965b407abd03352c64bd95d4_A_4_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[3];
float _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float;
Unity_Maximum_float(_Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float, _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float);
float _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float;
Unity_Maximum_float(_Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float);
float _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float;
Unity_Divide_float(_Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float, _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float);
float _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float;
Unity_Multiply_float_float(_Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float, 0.5, _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float);
float _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float;
Unity_Add_float(_Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float, float(0.5), _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float);
float4 _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4;
Unity_Multiply_float4_float4(_Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4, (_Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float.xxxx), _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4);
float4 _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4;
Unity_Saturate_float4(_Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4);
float4 _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4;
Unity_Branch_float4(_Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4);
float _Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean = Crossfade;
float _Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean = Is_Billboard;
float _Split_8e113e5414194688aa2c165814b6360b_R_1_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[0];
float _Split_8e113e5414194688aa2c165814b6360b_G_2_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[1];
float _Split_8e113e5414194688aa2c165814b6360b_B_3_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[2];
float _Split_8e113e5414194688aa2c165814b6360b_A_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[3];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_R_1_Float = IN.VertexColor[0];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_G_2_Float = IN.VertexColor[1];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_B_3_Float = IN.VertexColor[2];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float = IN.VertexColor[3];
float _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float;
Unity_Multiply_float_float(_Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float);
float _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float;
Unity_Branch_float(_Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float);
float4 _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
float _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float;
LODDitheringTransitionSG_float(IN.WorldSpaceViewDirection, _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float);
float _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float;
Unity_Multiply_float_float(_Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float);
float _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Unity_Branch_float(_Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float);
Modified_Color_1 = (_Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4.xyz);
Modified_Alpha_4 = _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Original_Color_2 = (_SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.xyz);
Original_Alpha_3 = _Split_8e113e5414194688aa2c165814b6360b_A_4_Float;
}
void Unity_Subtract_float4(float4 A, float4 B, out float4 Out)
{
Out = A - B;
}
void Unity_Normalize_float4(float4 In, out float4 Out)
{
Out = normalize(In);
}
void Unity_DotProduct_float4(float4 A, float4 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Lerp_float(float A, float B, float T, out float Out)
{
Out = lerp(A, B, T);
}
void Unity_Normalize_float3(float3 In, out float3 Out)
{
Out = normalize(In);
}
struct Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float FaceSign;
};
void SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float Vector1_B7478AA2, float3 Vector3_F863C863, float Vector1_2E103E32, float Boolean_1A7045BA, Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float IN, out float Opacity_1, out float3 NormalTangentSpace_2, out float3 NormalWorldSpace_3)
{
float _Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean = Boolean_1A7045BA;
float _IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean = max(0, IN.FaceSign.x);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M0_1_Vector4 = float4(UNITY_MATRIX_M[0].r, UNITY_MATRIX_M[1].r, UNITY_MATRIX_M[2].r, UNITY_MATRIX_M[3].r);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4 = float4(UNITY_MATRIX_M[0].g, UNITY_MATRIX_M[1].g, UNITY_MATRIX_M[2].g, UNITY_MATRIX_M[3].g);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M2_3_Vector4 = float4(UNITY_MATRIX_M[0].b, UNITY_MATRIX_M[1].b, UNITY_MATRIX_M[2].b, UNITY_MATRIX_M[3].b);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4 = float4(UNITY_MATRIX_M[0].a, UNITY_MATRIX_M[1].a, UNITY_MATRIX_M[2].a, UNITY_MATRIX_M[3].a);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M0_1_Vector4 = float4(UNITY_MATRIX_I_V[0].r, UNITY_MATRIX_I_V[1].r, UNITY_MATRIX_I_V[2].r, UNITY_MATRIX_I_V[3].r);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M1_2_Vector4 = float4(UNITY_MATRIX_I_V[0].g, UNITY_MATRIX_I_V[1].g, UNITY_MATRIX_I_V[2].g, UNITY_MATRIX_I_V[3].g);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M2_3_Vector4 = float4(UNITY_MATRIX_I_V[0].b, UNITY_MATRIX_I_V[1].b, UNITY_MATRIX_I_V[2].b, UNITY_MATRIX_I_V[3].b);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4 = float4(UNITY_MATRIX_I_V[0].a, UNITY_MATRIX_I_V[1].a, UNITY_MATRIX_I_V[2].a, UNITY_MATRIX_I_V[3].a);
float4 _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4;
Unity_Subtract_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4, _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4, _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4);
float4 _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4);
float4 _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4;
Unity_Normalize_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4, _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4);
float _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float;
Unity_DotProduct_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float);
float4 _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, (_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float.xxxx), _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4);
float4 _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4;
Unity_Subtract_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4, _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4);
float4 _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4, _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4);
float _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float;
Unity_DotProduct_float3((_Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4.xyz), IN.WorldSpaceNormal, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float);
float _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float);
float _Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float = Vector1_B7478AA2;
float _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float;
Unity_Multiply_float_float(_Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float, 0.0625, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float);
float _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float;
Unity_Subtract_float(_Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float, _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float);
float _Split_dc240df11f72a383b02ff5d20177297b_R_1_Float = IN.ObjectSpaceNormal[0];
float _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float = IN.ObjectSpaceNormal[1];
float _Split_dc240df11f72a383b02ff5d20177297b_B_3_Float = IN.ObjectSpaceNormal[2];
float _Split_dc240df11f72a383b02ff5d20177297b_A_4_Float = 0;
float _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float);
float _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float;
Unity_Multiply_float_float(_Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float);
float _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float;
Unity_Multiply_float_float(_Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float);
float _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float;
Unity_Lerp_float(_Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float, _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float, _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float);
float _Add_facc917224db51879999a44d20c9e100_Out_2_Float;
Unity_Add_float(_Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float, float(0.05), _Add_facc917224db51879999a44d20c9e100_Out_2_Float);
float _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float;
Unity_Saturate_float(_Add_facc917224db51879999a44d20c9e100_Out_2_Float, _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float);
float _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float = Vector1_2E103E32;
float _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float;
Unity_Multiply_float_float(_Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float);
float _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float;
Unity_Branch_float(_IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float, float(0), _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float);
float _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
Unity_Branch_float(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float);
float3 _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3 = Vector3_F863C863;
float _Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[0];
float _Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[1];
float _Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[2];
float _Split_233978cea2bd558992e45bf1b593c9f6_A_4_Float = 0;
float3 _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float.xxx), IN.WorldSpaceTangent, _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3);
float3 _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float.xxx), IN.WorldSpaceBiTangent, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3);
float3 _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3;
Unity_Add_float3(_Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3, _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3);
float4 _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, float4(-0.1, -0.1, -0.1, -1), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4);
float4 _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4;
Unity_Multiply_float4_float4((_Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float.xxxx), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4, _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4);
float3 _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3;
Unity_Add_float3(_Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3, (_Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4.xyz), _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3);
float3 _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3;
Unity_Normalize_float3(_Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3);
float3 _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3 = TransformWorldToTangentDir(_Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3.xyz, tangentTransform, false);
}
float3 _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3, _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3, _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3);
float3 _Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3 = TransformTangentToWorldDir(_Property_867e845d3b5417839226e67526ede381_Out_0_Vector3.xyz, tangentTransform, false).xyz;
}
float3 _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3;
Unity_Normalize_float3(_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3);
float3 _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3, _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3);
Opacity_1 = _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
NormalTangentSpace_2 = _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
NormalWorldSpace_3 = _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float = _BillboardKwToggle;
Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv2 = IN.uv2;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv3 = IN.uv3;
float3 _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3;
SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(IN.ObjectSpacePosition, ((bool) _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float), _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515, _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3);
Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv0 = IN.uv0;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv1 = IN.uv1;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv2 = IN.uv2;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv3 = IN.uv3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3;
SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3);
description.Position = _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
description.TangentWS = IN.WorldSpaceTangent;
description.BitangentWS = IN.WorldSpaceBiTangent;
description.NormalWS = IN.WorldSpaceNormal;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
float _Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean = _NormalMapKwToggle;
UnityTexture2D _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_NormalMap);
float _Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float = Backface_Normal_Mode;
float _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(0.5), _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean);
float4 _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4 = float4(float(-1), float(-1), float(-1), float(1));
float _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(1.5), _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean);
float4 _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4 = float4(float(1), float(1), float(-1), float(1));
float4 _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4 = float4(float(1), float(1), float(1), float(1));
float4 _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4;
Unity_Branch_float4(_Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean, _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4, _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4);
float4 _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4;
Unity_Branch_float4(_Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean, _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4);
Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpacePosition = IN.WorldSpacePosition;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.FaceSign = IN.FaceSign;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.uv0 = IN.uv0;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3;
SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(_Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean, _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D, IN.TangentWS, IN.BitangentWS, IN.NormalWS, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4, 0, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3);
UnityTexture2D _Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_MainTex);
float4 _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4 = _Color;
float _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean = _HueVariationKwToggle;
float4 _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4 = _HueVariationColor;
float _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float = _BillboardKwToggle;
float _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean;
Unity_Comparison_Equal_float(float(1), _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean);
Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.WorldSpaceViewDirection = IN.WorldSpaceViewDirection;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.VertexColor = IN.VertexColor;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.NDCPosition = IN.NDCPosition;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.uv0 = IN.uv0;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float;
SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(_Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D, _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4, _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean, _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4, 0, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, 0, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float);
Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.FaceSign = IN.FaceSign;
float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float(8), _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3);
float _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float = _AlphaClipThreshold;
surface.Alpha = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
surface.AlphaClipThreshold = _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float;
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.WorldSpaceTangent = TransformObjectToWorldDir(input.tangentOS.xyz);
output.ObjectSpaceBiTangent = normalize(cross(input.normalOS, input.tangentOS.xyz) * (input.tangentOS.w > 0.0f ? 1.0f : -1.0f) * GetOddNegativeScale());
output.WorldSpaceBiTangent = TransformObjectToWorldDir(output.ObjectSpaceBiTangent);
output.ObjectSpacePosition = input.positionOS;
output.uv0 = input.uv0;
output.uv1 = input.uv1;
output.uv2 = input.uv2;
output.uv3 = input.uv3;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
// must use interpolated tangent, bitangent and normal before they are normalized in the pixel shader.
float3 unnormalizedNormalWS = input.normalWS;
const float renormFactor = 1.0 / length(unnormalizedNormalWS);
// use bitangent on the fly like in hdrp
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped.
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0)* GetOddNegativeScale();
float3 bitang = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz);
output.WorldSpaceNormal = renormFactor * input.normalWS.xyz; // we want a unit length Normal Vector node in shader graph
output.ObjectSpaceNormal = normalize(mul(output.WorldSpaceNormal, (float3x3) UNITY_MATRIX_M)); // transposed multiplication by inverse matrix to handle normal scale
// to pr eserve mikktspace compliance we use same scale renormFactor as was used on the normal.
// This is explained in section 2.2 in "surface gradient based bump mapping framework"
output.WorldSpaceTangent = renormFactor * input.tangentWS.xyz;
output.WorldSpaceBiTangent = renormFactor * bitang;
output.WorldSpaceViewDirection = GetWorldSpaceNormalizeViewDir(input.positionWS);
output.WorldSpacePosition = input.positionWS;
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthOnlyPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
<Packages/com.unity.render-pipelines.universal/Shaders/NatureSpeedTree9_URP.shadergraph<00><><EFBFBD><EFBFBD><00><03><><13><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5BD89><EFBFBD> @ _ _WIND_SHIMMER_ _WIND_BRANCH1_ _WIND_BRANCH2_ _WIND_SHARED_ _WIND_RIPPLE_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON&_FOVEATED_RENDERING_NON_UNIFORM_RASTER DOTS_INSTANCING_ON<00><> SHADOWS_SOFT<46>DIRLIGHTMAP_COMBINED<45>DYNAMICLIGHTMAP_ON<00>SHADOWS_SCREEN<00> INSTANCING_ONPROCEDURAL_INSTANCING_ON@STEREO_MULTIVIEW_ON<00>STEREO_INSTANCING_ON<4F>"UNITY_DEVICE_SUPPORTS_NATIVE_16BIT (UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACINGZLOD_FADE_CROSSFADE DOTS_INSTANCING_ON _FOVEATED_RENDERING_NON_UNIFORM_RASTER INSTANCING_ON}V#if defined(SHADER_STAGE_VERTEX)
#define _WIND_SHIMMER_KEYWORD_DECLARED 1
#define _WIND_BRANCH1_KEYWORD_DECLARED 1
#define _WIND_BRANCH2_KEYWORD_DECLARED 1
#define _WIND_SHARED_KEYWORD_DECLARED 1
#define _WIND_RIPPLE_KEYWORD_DECLARED 1
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#endif
#if defined(SHADER_STAGE_FRAGMENT)
#define _WRITE_RENDERING_LAYERS_KEYWORD_DECLARED 1
#define LOD_FADE_CROSSFADE_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define INSTANCING_ON_KEYWORD_DECLARED 1
#endif
cbuffer UnityDynamicKeywords {
int _FOVEATED_RENDERING_NON_UNIFORM_RASTER;
};
#line 6135 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
#define UNITY_INSTANCED_LOD_FADE
#define UNITY_INSTANCED_SH
#define UNITY_INSTANCED_LIGHTMAPSTS
#define UNITY_INSTANCED_RENDERER_BOUNDS
#line 6135 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
/* UNITY: Original start of shader */
// Pragmas
#pragma target 2.0
#pragma multi_compile_instancing
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma multi_compile _ LOD_FADE_CROSSFADE
#pragma shader_feature_vertex _ _WIND_SHIMMER
#pragma shader_feature_vertex _ _WIND_BRANCH1
#pragma shader_feature_vertex _ _WIND_BRANCH2
#pragma shader_feature_vertex _ _WIND_SHARED
#pragma shader_feature_vertex _ _WIND_RIPPLE
#if defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_0
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_1
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_2
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_3
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_4
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_5
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_6
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_7
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_8
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_9
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_10
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_11
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_12
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_13
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_14
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_15
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_16
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_17
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_18
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_19
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_20
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_21
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_22
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_23
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_24
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_25
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_26
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_27
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_28
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_29
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_30
#elif defined(LOD_FADE_CROSSFADE)
#define KEYWORD_PERMUTATION_31
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_32
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_33
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_34
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_35
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_36
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_37
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_38
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_39
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_40
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_41
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_42
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_43
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_44
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_45
#elif defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_46
#elif defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_47
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_48
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_49
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_50
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_51
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_52
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_53
#elif defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_54
#elif defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_55
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_56
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_57
#elif defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_58
#elif defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_59
#elif defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_60
#elif defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_61
#elif defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_62
#else
#define KEYWORD_PERMUTATION_63
#endif
// Defines
#define _NORMALMAP 1
#define _NORMAL_DROPOFF_WS 1
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_TEXCOORD3
#define ATTRIBUTES_NEED_COLOR
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TANGENT_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_COLOR
#define VARYINGS_NEED_CULLFACE
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_DEPTHNORMALS
#define _ALPHATEST_ON 1
#define USE_UNITY_CROSSFADE 1
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 uv3 : TEXCOORD3;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 tangentWS;
float4 texCoord0;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct SurfaceDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpaceViewDirection;
float3 WorldSpacePosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 VertexColor;
float FaceSign;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 WorldSpaceTangent;
float3 ObjectSpaceBiTangent;
float3 WorldSpaceBiTangent;
float3 ObjectSpacePosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 uv3;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 tangentWS : INTERP0;
float4 texCoord0 : INTERP1;
float4 color : INTERP2;
float4 packed_positionWS_NormalWSx : INTERP3;
float4 packed_normalWS_NormalWSy : INTERP4;
float4 packed_TangentWS_NormalWSz : INTERP5;
float3 BitangentWS : INTERP6;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.tangentWS.xyzw = input.tangentWS;
output.texCoord0.xyzw = input.texCoord0;
output.color.xyzw = input.color;
output.packed_positionWS_NormalWSx.xyz = input.positionWS;
output.packed_positionWS_NormalWSx.w = input.NormalWS.x;
output.packed_normalWS_NormalWSy.xyz = input.normalWS;
output.packed_normalWS_NormalWSy.w = input.NormalWS.y;
output.packed_TangentWS_NormalWSz.xyz = input.TangentWS;
output.packed_TangentWS_NormalWSz.w = input.NormalWS.z;
output.BitangentWS.xyz = input.BitangentWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.tangentWS = input.tangentWS.xyzw;
output.texCoord0 = input.texCoord0.xyzw;
output.color = input.color.xyzw;
output.positionWS = input.packed_positionWS_NormalWSx.xyz;
output.NormalWS.x = input.packed_positionWS_NormalWSx.w;
output.normalWS = input.packed_normalWS_NormalWSy.xyz;
output.NormalWS.y = input.packed_normalWS_NormalWSy.w;
output.TangentWS = input.packed_TangentWS_NormalWSz.xyz;
output.NormalWS.z = input.packed_TangentWS_NormalWSz.w;
output.BitangentWS = input.BitangentWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _MainTex_TexelSize;
float4 _Color;
float _HueVariationKwToggle;
float4 _HueVariationColor;
float _NormalMapKwToggle;
float4 _NormalMap_TexelSize;
float EFFECT_EXTRA_TEX;
float4 _ExtraTex_TexelSize;
float _Glossiness;
float _Metallic;
float _SubsurfaceKwToggle;
float _SubsurfaceIndirect;
float4 _SubsurfaceColor;
float4 _SubsurfaceTex_TexelSize;
float _AlphaClipThreshold;
float Backface_Normal_Mode;
float _BillboardKwToggle;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
TEXTURE2D(_NormalMap);
SAMPLER(sampler_NormalMap);
TEXTURE2D(_ExtraTex);
SAMPLER(sampler_ExtraTex);
TEXTURE2D(_SubsurfaceTex);
SAMPLER(sampler_SubsurfaceTex);
// Graph Includes
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTreeCommon.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTree9Wind.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/LODDitheringTransition.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float
{
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(float3 Vector3_DF61F3B, float _IsBillboard, Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float IN, out float3 ObjectSpacePositionOut_1)
{
float _Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean = _IsBillboard;
float3 _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3 = Vector3_DF61F3B;
float4 _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4 = IN.uv2;
float4 _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3;
SpeedTree9LeafFacing_float(_Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4, _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3);
float3 _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
Unity_Branch_float3(_Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean, _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3, _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3);
ObjectSpacePositionOut_1 = _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
}
void Unity_Subtract_float3(float3 A, float3 B, out float3 Out)
{
Out = A - B;
}
struct Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float
{
float3 ObjectSpaceNormal;
half4 uv0;
half4 uv1;
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(float3 _ObjectSpaceVertexPosition, Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float IN, out float3 AnimatedVertexObjectSpacePosition_1, out float3 ObjectSpaceMotionVector_2)
{
float3 _Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3 = _ObjectSpaceVertexPosition;
float4 _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4 = IN.uv0;
float4 _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4 = IN.uv1;
float4 _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4 = IN.uv2;
float4 _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 0, _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3);
float3 _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 1, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3);
float3 _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
Unity_Subtract_float3(_SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3, _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3);
AnimatedVertexObjectSpacePosition_1 = _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
ObjectSpaceMotionVector_2 = _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
}
void Unity_Comparison_Less_float(float A, float B, out float Out)
{
Out = A < B ? 1 : 0;
}
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
{
Out = Predicate ? True : False;
}
void Unity_DotProduct_float3(float3 A, float3 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Comparison_Equal_float(float A, float B, out float Out)
{
Out = A == B ? 1 : 0;
}
void Unity_Not_float(float In, out float Out)
{
Out = !In;
}
void Unity_Or_float(float A, float B, out float Out)
{
Out = A || B;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
struct Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float
{
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpacePosition;
float FaceSign;
half4 uv0;
};
void SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(float Enable_Normal_Map, UnityTexture2D Normal_Map, float3 Interpolated_Tangent_WS, float3 Interpolated_Bitangent_WS, float3 Interpolated_Normal_WS, float4 Backside_Normal_Transform_TS, float Transform_Backside_Normals, Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float IN, out float3 NormalWS_1, out float3 NormalTS_2)
{
float _Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean = Enable_Normal_Map;
UnityTexture2D _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D = Normal_Map;
float4 _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.tex, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.samplerstate, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4);
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.r;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.g;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.b;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_A_7_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.a;
float3 _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3 = float3(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float);
float _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float;
Unity_DotProduct_float3(_Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float);
float _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean;
Unity_Comparison_Equal_float(_DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float, float(0), _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean);
float3 _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3;
Unity_Branch_float3(_Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean, float3(0, 0, 1), _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3);
float _Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean = Transform_Backside_Normals;
float _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean;
Unity_Not_float(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean);
float _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean = max(0, IN.FaceSign.x);
float _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean;
Unity_Or_float(_Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean, _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean, _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean);
float4 _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4 = Backside_Normal_Transform_TS;
float4 _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4;
Unity_Branch_float4(_Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean, float4(1, 1, 1, 1), _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4, _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4);
float3 _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3;
Unity_Multiply_float3_float3(_Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3, (_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3);
float _Split_d262d084d8a24f75a887851e71acd55c_R_1_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[0];
float _Split_d262d084d8a24f75a887851e71acd55c_G_2_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[1];
float _Split_d262d084d8a24f75a887851e71acd55c_B_3_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[2];
float _Split_d262d084d8a24f75a887851e71acd55c_A_4_Float = 0;
float3 _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3 = Interpolated_Tangent_WS;
float3 _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_R_1_Float.xxx), _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3, _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3);
float3 _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3 = Interpolated_Bitangent_WS;
float3 _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_G_2_Float.xxx), _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3);
float3 _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3;
Unity_Add_float3(_Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3, _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3);
float3 _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3 = Interpolated_Normal_WS;
float3 _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_B_3_Float.xxx), _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3);
float3 _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3;
Unity_Add_float3(_Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3);
float3 _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3 = TransformWorldToTangentDir(_Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3.xyz - IN.WorldSpacePosition, tangentTransform, false);
}
float3 _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3;
Unity_Multiply_float3_float3((_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3, _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3);
float3 _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3 = TransformTangentToWorldDir(_Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3.xyz, tangentTransform, false).xyz + IN.WorldSpacePosition;
}
float3 _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3;
Unity_Branch_float3(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3);
float3 _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
Unity_Branch_float3(_Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3, _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3);
float3 _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3 = TransformWorldToTangentDir(_Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3.xyz, tangentTransform, false);
}
NormalWS_1 = _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
NormalTS_2 = _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Fraction_float(float In, out float Out)
{
Out = frac(In);
}
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
{
Out = lerp(A, B, T);
}
void Unity_Blend_Overlay_float4(float4 Base, float4 Blend, out float4 Out, float Opacity)
{
float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend);
float4 result2 = 2.0 * Base * Blend;
float4 zeroOrOne = step(Base, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
Out = lerp(Base, Out, Opacity);
}
void Unity_Maximum_float(float A, float B, out float Out)
{
Out = max(A, B);
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float4(float4 In, out float4 Out)
{
Out = saturate(In);
}
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float
{
float3 WorldSpaceViewDirection;
float4 VertexColor;
float2 NDCPosition;
half4 uv0;
};
void SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(UnityTexture2D Base_Map, float4 Color_Tint, float Enable_Hue_Variation, float4 Hue_Variation_Color, float Use_Old_Hue_Variation_Behavior, float Is_Billboard, float Crossfade, Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float IN, out float3 Modified_Color_1, out float Modified_Alpha_4, out float3 Original_Color_2, out float Original_Alpha_3)
{
float _Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean = Enable_Hue_Variation;
float _Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean = Use_Old_Hue_Variation_Behavior;
float4 _Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4 = Color_Tint;
UnityTexture2D _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D = Base_Map;
float4 _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.tex, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.samplerstate, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_R_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.r;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_G_5_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.g;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_B_6_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.b;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_A_7_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.a;
float4 _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4, _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4);
float4 _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4 = Hue_Variation_Color;
float _Split_1e71fee3241d42eea8e7ee1371975d5c_R_1_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[0];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_G_2_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[1];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_B_3_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[2];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[3];
float3 _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3;
{
// Converting Position from Object to AbsoluteWorld via world space
float3 world;
world = TransformObjectToWorld(float3 (0, 0, 0).xyz);
_Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3 = GetAbsolutePositionWS(world);
}
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[0];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[1];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[2];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_A_4_Float = 0;
float _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float;
Unity_Add_float(_Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float, _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float);
float _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float;
Unity_Add_float(_Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float, _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float);
float _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float;
Unity_Fraction_float(_Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float);
float _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float;
Unity_Multiply_float_float(_Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float, _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float);
float _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float;
Unity_Saturate_float(_Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4;
Unity_Lerp_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, (_Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float.xxxx), _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4);
float4 _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4;
Unity_Blend_Overlay_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4;
Unity_Branch_float4(_Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean, _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4);
float _Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[0];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[1];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[2];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_A_4_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[3];
float _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float;
Unity_Maximum_float(_Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float, _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float);
float _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float;
Unity_Maximum_float(_Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float, _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float);
float _Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[0];
float _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[1];
float _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[2];
float _Split_d9b6fd95965b407abd03352c64bd95d4_A_4_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[3];
float _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float;
Unity_Maximum_float(_Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float, _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float);
float _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float;
Unity_Maximum_float(_Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float);
float _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float;
Unity_Divide_float(_Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float, _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float);
float _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float;
Unity_Multiply_float_float(_Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float, 0.5, _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float);
float _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float;
Unity_Add_float(_Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float, float(0.5), _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float);
float4 _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4;
Unity_Multiply_float4_float4(_Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4, (_Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float.xxxx), _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4);
float4 _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4;
Unity_Saturate_float4(_Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4);
float4 _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4;
Unity_Branch_float4(_Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4);
float _Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean = Crossfade;
float _Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean = Is_Billboard;
float _Split_8e113e5414194688aa2c165814b6360b_R_1_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[0];
float _Split_8e113e5414194688aa2c165814b6360b_G_2_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[1];
float _Split_8e113e5414194688aa2c165814b6360b_B_3_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[2];
float _Split_8e113e5414194688aa2c165814b6360b_A_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[3];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_R_1_Float = IN.VertexColor[0];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_G_2_Float = IN.VertexColor[1];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_B_3_Float = IN.VertexColor[2];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float = IN.VertexColor[3];
float _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float;
Unity_Multiply_float_float(_Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float);
float _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float;
Unity_Branch_float(_Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float);
float4 _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
float _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float;
LODDitheringTransitionSG_float(IN.WorldSpaceViewDirection, _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float);
float _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float;
Unity_Multiply_float_float(_Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float);
float _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Unity_Branch_float(_Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float);
Modified_Color_1 = (_Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4.xyz);
Modified_Alpha_4 = _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Original_Color_2 = (_SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.xyz);
Original_Alpha_3 = _Split_8e113e5414194688aa2c165814b6360b_A_4_Float;
}
void Unity_Subtract_float4(float4 A, float4 B, out float4 Out)
{
Out = A - B;
}
void Unity_Normalize_float4(float4 In, out float4 Out)
{
Out = normalize(In);
}
void Unity_DotProduct_float4(float4 A, float4 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Lerp_float(float A, float B, float T, out float Out)
{
Out = lerp(A, B, T);
}
void Unity_Normalize_float3(float3 In, out float3 Out)
{
Out = normalize(In);
}
struct Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float FaceSign;
};
void SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float Vector1_B7478AA2, float3 Vector3_F863C863, float Vector1_2E103E32, float Boolean_1A7045BA, Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float IN, out float Opacity_1, out float3 NormalTangentSpace_2, out float3 NormalWorldSpace_3)
{
float _Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean = Boolean_1A7045BA;
float _IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean = max(0, IN.FaceSign.x);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M0_1_Vector4 = float4(UNITY_MATRIX_M[0].r, UNITY_MATRIX_M[1].r, UNITY_MATRIX_M[2].r, UNITY_MATRIX_M[3].r);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4 = float4(UNITY_MATRIX_M[0].g, UNITY_MATRIX_M[1].g, UNITY_MATRIX_M[2].g, UNITY_MATRIX_M[3].g);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M2_3_Vector4 = float4(UNITY_MATRIX_M[0].b, UNITY_MATRIX_M[1].b, UNITY_MATRIX_M[2].b, UNITY_MATRIX_M[3].b);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4 = float4(UNITY_MATRIX_M[0].a, UNITY_MATRIX_M[1].a, UNITY_MATRIX_M[2].a, UNITY_MATRIX_M[3].a);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M0_1_Vector4 = float4(UNITY_MATRIX_I_V[0].r, UNITY_MATRIX_I_V[1].r, UNITY_MATRIX_I_V[2].r, UNITY_MATRIX_I_V[3].r);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M1_2_Vector4 = float4(UNITY_MATRIX_I_V[0].g, UNITY_MATRIX_I_V[1].g, UNITY_MATRIX_I_V[2].g, UNITY_MATRIX_I_V[3].g);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M2_3_Vector4 = float4(UNITY_MATRIX_I_V[0].b, UNITY_MATRIX_I_V[1].b, UNITY_MATRIX_I_V[2].b, UNITY_MATRIX_I_V[3].b);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4 = float4(UNITY_MATRIX_I_V[0].a, UNITY_MATRIX_I_V[1].a, UNITY_MATRIX_I_V[2].a, UNITY_MATRIX_I_V[3].a);
float4 _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4;
Unity_Subtract_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4, _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4, _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4);
float4 _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4);
float4 _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4;
Unity_Normalize_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4, _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4);
float _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float;
Unity_DotProduct_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float);
float4 _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, (_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float.xxxx), _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4);
float4 _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4;
Unity_Subtract_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4, _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4);
float4 _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4, _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4);
float _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float;
Unity_DotProduct_float3((_Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4.xyz), IN.WorldSpaceNormal, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float);
float _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float);
float _Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float = Vector1_B7478AA2;
float _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float;
Unity_Multiply_float_float(_Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float, 0.0625, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float);
float _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float;
Unity_Subtract_float(_Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float, _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float);
float _Split_dc240df11f72a383b02ff5d20177297b_R_1_Float = IN.ObjectSpaceNormal[0];
float _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float = IN.ObjectSpaceNormal[1];
float _Split_dc240df11f72a383b02ff5d20177297b_B_3_Float = IN.ObjectSpaceNormal[2];
float _Split_dc240df11f72a383b02ff5d20177297b_A_4_Float = 0;
float _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float);
float _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float;
Unity_Multiply_float_float(_Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float);
float _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float;
Unity_Multiply_float_float(_Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float);
float _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float;
Unity_Lerp_float(_Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float, _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float, _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float);
float _Add_facc917224db51879999a44d20c9e100_Out_2_Float;
Unity_Add_float(_Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float, float(0.05), _Add_facc917224db51879999a44d20c9e100_Out_2_Float);
float _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float;
Unity_Saturate_float(_Add_facc917224db51879999a44d20c9e100_Out_2_Float, _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float);
float _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float = Vector1_2E103E32;
float _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float;
Unity_Multiply_float_float(_Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float);
float _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float;
Unity_Branch_float(_IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float, float(0), _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float);
float _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
Unity_Branch_float(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float);
float3 _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3 = Vector3_F863C863;
float _Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[0];
float _Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[1];
float _Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[2];
float _Split_233978cea2bd558992e45bf1b593c9f6_A_4_Float = 0;
float3 _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float.xxx), IN.WorldSpaceTangent, _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3);
float3 _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float.xxx), IN.WorldSpaceBiTangent, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3);
float3 _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3;
Unity_Add_float3(_Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3, _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3);
float4 _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, float4(-0.1, -0.1, -0.1, -1), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4);
float4 _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4;
Unity_Multiply_float4_float4((_Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float.xxxx), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4, _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4);
float3 _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3;
Unity_Add_float3(_Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3, (_Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4.xyz), _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3);
float3 _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3;
Unity_Normalize_float3(_Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3);
float3 _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3 = TransformWorldToTangentDir(_Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3.xyz, tangentTransform, false);
}
float3 _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3, _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3, _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3);
float3 _Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3 = TransformTangentToWorldDir(_Property_867e845d3b5417839226e67526ede381_Out_0_Vector3.xyz, tangentTransform, false).xyz;
}
float3 _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3;
Unity_Normalize_float3(_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3);
float3 _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3, _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3);
Opacity_1 = _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
NormalTangentSpace_2 = _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
NormalWorldSpace_3 = _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float = _BillboardKwToggle;
Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv2 = IN.uv2;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv3 = IN.uv3;
float3 _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3;
SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(IN.ObjectSpacePosition, ((bool) _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float), _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515, _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3);
Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv0 = IN.uv0;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv1 = IN.uv1;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv2 = IN.uv2;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv3 = IN.uv3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3;
SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3);
description.Position = _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
description.TangentWS = IN.WorldSpaceTangent;
description.BitangentWS = IN.WorldSpaceBiTangent;
description.NormalWS = IN.WorldSpaceNormal;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float3 NormalWS;
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
float _Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean = _NormalMapKwToggle;
UnityTexture2D _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_NormalMap);
float _Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float = Backface_Normal_Mode;
float _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(0.5), _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean);
float4 _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4 = float4(float(-1), float(-1), float(-1), float(1));
float _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(1.5), _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean);
float4 _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4 = float4(float(1), float(1), float(-1), float(1));
float4 _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4 = float4(float(1), float(1), float(1), float(1));
float4 _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4;
Unity_Branch_float4(_Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean, _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4, _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4);
float4 _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4;
Unity_Branch_float4(_Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean, _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4);
Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpacePosition = IN.WorldSpacePosition;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.FaceSign = IN.FaceSign;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.uv0 = IN.uv0;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3;
SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(_Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean, _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D, IN.TangentWS, IN.BitangentWS, IN.NormalWS, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4, 0, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3);
UnityTexture2D _Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_MainTex);
float4 _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4 = _Color;
float _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean = _HueVariationKwToggle;
float4 _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4 = _HueVariationColor;
float _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float = _BillboardKwToggle;
float _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean;
Unity_Comparison_Equal_float(float(1), _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean);
Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.WorldSpaceViewDirection = IN.WorldSpaceViewDirection;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.VertexColor = IN.VertexColor;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.NDCPosition = IN.NDCPosition;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.uv0 = IN.uv0;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float;
SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(_Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D, _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4, _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean, _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4, 0, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, 0, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float);
Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.FaceSign = IN.FaceSign;
float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float(8), _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3);
float _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float = _AlphaClipThreshold;
surface.NormalWS = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
surface.Alpha = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
surface.AlphaClipThreshold = _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float;
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.WorldSpaceTangent = TransformObjectToWorldDir(input.tangentOS.xyz);
output.ObjectSpaceBiTangent = normalize(cross(input.normalOS, input.tangentOS.xyz) * (input.tangentOS.w > 0.0f ? 1.0f : -1.0f) * GetOddNegativeScale());
output.WorldSpaceBiTangent = TransformObjectToWorldDir(output.ObjectSpaceBiTangent);
output.ObjectSpacePosition = input.positionOS;
output.uv0 = input.uv0;
output.uv1 = input.uv1;
output.uv2 = input.uv2;
output.uv3 = input.uv3;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
// must use interpolated tangent, bitangent and normal before they are normalized in the pixel shader.
float3 unnormalizedNormalWS = input.normalWS;
const float renormFactor = 1.0 / length(unnormalizedNormalWS);
// use bitangent on the fly like in hdrp
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped.
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0)* GetOddNegativeScale();
float3 bitang = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz);
output.WorldSpaceNormal = renormFactor * input.normalWS.xyz; // we want a unit length Normal Vector node in shader graph
output.ObjectSpaceNormal = normalize(mul(output.WorldSpaceNormal, (float3x3) UNITY_MATRIX_M)); // transposed multiplication by inverse matrix to handle normal scale
// to pr eserve mikktspace compliance we use same scale renormFactor as was used on the normal.
// This is explained in section 2.2 in "surface gradient based bump mapping framework"
output.WorldSpaceTangent = renormFactor * input.tangentWS.xyz;
output.WorldSpaceBiTangent = renormFactor * bitang;
output.WorldSpaceViewDirection = GetWorldSpaceNormalizeViewDir(input.positionWS);
output.WorldSpacePosition = input.positionWS;
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/DepthNormalsOnlyPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
<Packages/com.unity.render-pipelines.universal/Shaders/NatureSpeedTree9_URP.shadergraph<00><><EFBFBD><EFBFBD><00>d<><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ7<D2AA>w<EFBFBD><77>ǜ@ _ _WIND_SHIMMER_ _WIND_BRANCH1_ _WIND_BRANCH2_ _WIND_SHARED_ _WIND_RIPPLE_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON__WRITE_RENDERING_LAYERS_LOD_FADE_CROSSFADE_DOTS_INSTANCING_ON_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER__ INSTANCING_ON&_FOVEATED_RENDERING_NON_UNIFORM_RASTER DOTS_INSTANCING_ON<00><>_WRITE_RENDERING_LAYERS<00><> SHADOWS_SOFT<46>DIRLIGHTMAP_COMBINED<45>DYNAMICLIGHTMAP_ON<00>SHADOWS_SCREEN<00> INSTANCING_ONPROCEDURAL_INSTANCING_ON@STEREO_MULTIVIEW_ON<00>STEREO_INSTANCING_ON<4F>"UNITY_DEVICE_SUPPORTS_NATIVE_16BIT (UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACINGr_WRITE_RENDERING_LAYERS LOD_FADE_CROSSFADE DOTS_INSTANCING_ON _FOVEATED_RENDERING_NON_UNIFORM_RASTER INSTANCING_ONDAT/#if defined(SHADER_STAGE_VERTEX)
#define _WIND_SHIMMER_KEYWORD_DECLARED 1
#define _WIND_BRANCH1_KEYWORD_DECLARED 1
#define _WIND_BRANCH2_KEYWORD_DECLARED 1
#define _WIND_SHARED_KEYWORD_DECLARED 1
#define _WIND_RIPPLE_KEYWORD_DECLARED 1
#define EDITOR_VISUALIZATION_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#endif
#if defined(SHADER_STAGE_FRAGMENT)
#define EDITOR_VISUALIZATION_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#endif
cbuffer UnityDynamicKeywords {
int _FOVEATED_RENDERING_NON_UNIFORM_RASTER;
};
#line 7265 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
#define UNITY_INSTANCED_LOD_FADE
#define UNITY_INSTANCED_SH
#define UNITY_INSTANCED_LIGHTMAPSTS
#define UNITY_INSTANCED_RENDERER_BOUNDS
#line 7265 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
/* UNITY: Original start of shader */
// Pragmas
#pragma target 2.0
#pragma vertex vert
#pragma fragment frag
// Keywords
#pragma shader_feature _ EDITOR_VISUALIZATION
#pragma shader_feature_vertex _ _WIND_SHIMMER
#pragma shader_feature_vertex _ _WIND_BRANCH1
#pragma shader_feature_vertex _ _WIND_BRANCH2
#pragma shader_feature_vertex _ _WIND_SHARED
#pragma shader_feature_vertex _ _WIND_RIPPLE
#if defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_0
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_1
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_2
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_3
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_4
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_5
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_6
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_7
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_8
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_9
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_10
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_11
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_12
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_13
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_14
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_15
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_16
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_17
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_18
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_19
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_20
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_21
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_22
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_23
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_24
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_25
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_26
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_27
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_28
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_29
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_30
#elif defined(LOD_FADE_CROSSFADE)
#define KEYWORD_PERMUTATION_31
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_32
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_33
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_34
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_35
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_36
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_37
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_38
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_39
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_40
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_41
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_42
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_43
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_44
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_45
#elif defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_46
#elif defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_47
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_48
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_49
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_50
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_51
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_52
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_53
#elif defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_54
#elif defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_55
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_56
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_57
#elif defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_58
#elif defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_59
#elif defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_60
#elif defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_61
#elif defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_62
#else
#define KEYWORD_PERMUTATION_63
#endif
// Defines
#define _NORMALMAP 1
#define _NORMAL_DROPOFF_WS 1
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_TEXCOORD3
#define ATTRIBUTES_NEED_COLOR
#define ATTRIBUTES_NEED_INSTANCEID
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TANGENT_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_TEXCOORD1
#define VARYINGS_NEED_TEXCOORD2
#define VARYINGS_NEED_COLOR
#define VARYINGS_NEED_CULLFACE
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_META
#define _FOG_FRAGMENT 1
#define _ALPHATEST_ON 1
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MetaInput.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 uv3 : TEXCOORD3;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 tangentWS;
float4 texCoord0;
float4 texCoord1;
float4 texCoord2;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct SurfaceDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpaceViewDirection;
float3 WorldSpacePosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 VertexColor;
float FaceSign;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 WorldSpaceTangent;
float3 ObjectSpaceBiTangent;
float3 WorldSpaceBiTangent;
float3 ObjectSpacePosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 uv3;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 tangentWS : INTERP0;
float4 texCoord0 : INTERP1;
float4 texCoord1 : INTERP2;
float4 texCoord2 : INTERP3;
float4 color : INTERP4;
float4 packed_positionWS_NormalWSx : INTERP5;
float4 packed_normalWS_NormalWSy : INTERP6;
float4 packed_TangentWS_NormalWSz : INTERP7;
float3 BitangentWS : INTERP8;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.tangentWS.xyzw = input.tangentWS;
output.texCoord0.xyzw = input.texCoord0;
output.texCoord1.xyzw = input.texCoord1;
output.texCoord2.xyzw = input.texCoord2;
output.color.xyzw = input.color;
output.packed_positionWS_NormalWSx.xyz = input.positionWS;
output.packed_positionWS_NormalWSx.w = input.NormalWS.x;
output.packed_normalWS_NormalWSy.xyz = input.normalWS;
output.packed_normalWS_NormalWSy.w = input.NormalWS.y;
output.packed_TangentWS_NormalWSz.xyz = input.TangentWS;
output.packed_TangentWS_NormalWSz.w = input.NormalWS.z;
output.BitangentWS.xyz = input.BitangentWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.tangentWS = input.tangentWS.xyzw;
output.texCoord0 = input.texCoord0.xyzw;
output.texCoord1 = input.texCoord1.xyzw;
output.texCoord2 = input.texCoord2.xyzw;
output.color = input.color.xyzw;
output.positionWS = input.packed_positionWS_NormalWSx.xyz;
output.NormalWS.x = input.packed_positionWS_NormalWSx.w;
output.normalWS = input.packed_normalWS_NormalWSy.xyz;
output.NormalWS.y = input.packed_normalWS_NormalWSy.w;
output.TangentWS = input.packed_TangentWS_NormalWSz.xyz;
output.NormalWS.z = input.packed_TangentWS_NormalWSz.w;
output.BitangentWS = input.BitangentWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _MainTex_TexelSize;
float4 _Color;
float _HueVariationKwToggle;
float4 _HueVariationColor;
float _NormalMapKwToggle;
float4 _NormalMap_TexelSize;
float EFFECT_EXTRA_TEX;
float4 _ExtraTex_TexelSize;
float _Glossiness;
float _Metallic;
float _SubsurfaceKwToggle;
float _SubsurfaceIndirect;
float4 _SubsurfaceColor;
float4 _SubsurfaceTex_TexelSize;
float _AlphaClipThreshold;
float Backface_Normal_Mode;
float _BillboardKwToggle;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
TEXTURE2D(_NormalMap);
SAMPLER(sampler_NormalMap);
TEXTURE2D(_ExtraTex);
SAMPLER(sampler_ExtraTex);
TEXTURE2D(_SubsurfaceTex);
SAMPLER(sampler_SubsurfaceTex);
// Graph Includes
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTreeCommon.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTree9Wind.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/LODDitheringTransition.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float
{
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(float3 Vector3_DF61F3B, float _IsBillboard, Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float IN, out float3 ObjectSpacePositionOut_1)
{
float _Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean = _IsBillboard;
float3 _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3 = Vector3_DF61F3B;
float4 _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4 = IN.uv2;
float4 _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3;
SpeedTree9LeafFacing_float(_Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4, _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3);
float3 _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
Unity_Branch_float3(_Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean, _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3, _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3);
ObjectSpacePositionOut_1 = _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
}
void Unity_Subtract_float3(float3 A, float3 B, out float3 Out)
{
Out = A - B;
}
struct Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float
{
float3 ObjectSpaceNormal;
half4 uv0;
half4 uv1;
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(float3 _ObjectSpaceVertexPosition, Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float IN, out float3 AnimatedVertexObjectSpacePosition_1, out float3 ObjectSpaceMotionVector_2)
{
float3 _Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3 = _ObjectSpaceVertexPosition;
float4 _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4 = IN.uv0;
float4 _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4 = IN.uv1;
float4 _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4 = IN.uv2;
float4 _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 0, _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3);
float3 _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 1, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3);
float3 _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
Unity_Subtract_float3(_SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3, _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3);
AnimatedVertexObjectSpacePosition_1 = _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
ObjectSpaceMotionVector_2 = _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
}
void Unity_Comparison_Equal_float(float A, float B, out float Out)
{
Out = A == B ? 1 : 0;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Fraction_float(float In, out float Out)
{
Out = frac(In);
}
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
{
Out = lerp(A, B, T);
}
void Unity_Blend_Overlay_float4(float4 Base, float4 Blend, out float4 Out, float Opacity)
{
float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend);
float4 result2 = 2.0 * Base * Blend;
float4 zeroOrOne = step(Base, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
Out = lerp(Base, Out, Opacity);
}
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
{
Out = Predicate ? True : False;
}
void Unity_Maximum_float(float A, float B, out float Out)
{
Out = max(A, B);
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float4(float4 In, out float4 Out)
{
Out = saturate(In);
}
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float
{
float3 WorldSpaceViewDirection;
float4 VertexColor;
float2 NDCPosition;
half4 uv0;
};
void SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(UnityTexture2D Base_Map, float4 Color_Tint, float Enable_Hue_Variation, float4 Hue_Variation_Color, float Use_Old_Hue_Variation_Behavior, float Is_Billboard, float Crossfade, Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float IN, out float3 Modified_Color_1, out float Modified_Alpha_4, out float3 Original_Color_2, out float Original_Alpha_3)
{
float _Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean = Enable_Hue_Variation;
float _Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean = Use_Old_Hue_Variation_Behavior;
float4 _Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4 = Color_Tint;
UnityTexture2D _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D = Base_Map;
float4 _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.tex, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.samplerstate, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_R_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.r;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_G_5_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.g;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_B_6_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.b;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_A_7_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.a;
float4 _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4, _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4);
float4 _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4 = Hue_Variation_Color;
float _Split_1e71fee3241d42eea8e7ee1371975d5c_R_1_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[0];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_G_2_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[1];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_B_3_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[2];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[3];
float3 _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3;
{
// Converting Position from Object to AbsoluteWorld via world space
float3 world;
world = TransformObjectToWorld(float3 (0, 0, 0).xyz);
_Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3 = GetAbsolutePositionWS(world);
}
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[0];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[1];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[2];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_A_4_Float = 0;
float _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float;
Unity_Add_float(_Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float, _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float);
float _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float;
Unity_Add_float(_Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float, _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float);
float _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float;
Unity_Fraction_float(_Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float);
float _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float;
Unity_Multiply_float_float(_Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float, _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float);
float _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float;
Unity_Saturate_float(_Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4;
Unity_Lerp_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, (_Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float.xxxx), _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4);
float4 _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4;
Unity_Blend_Overlay_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4;
Unity_Branch_float4(_Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean, _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4);
float _Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[0];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[1];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[2];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_A_4_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[3];
float _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float;
Unity_Maximum_float(_Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float, _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float);
float _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float;
Unity_Maximum_float(_Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float, _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float);
float _Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[0];
float _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[1];
float _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[2];
float _Split_d9b6fd95965b407abd03352c64bd95d4_A_4_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[3];
float _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float;
Unity_Maximum_float(_Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float, _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float);
float _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float;
Unity_Maximum_float(_Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float);
float _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float;
Unity_Divide_float(_Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float, _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float);
float _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float;
Unity_Multiply_float_float(_Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float, 0.5, _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float);
float _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float;
Unity_Add_float(_Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float, float(0.5), _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float);
float4 _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4;
Unity_Multiply_float4_float4(_Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4, (_Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float.xxxx), _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4);
float4 _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4;
Unity_Saturate_float4(_Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4);
float4 _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4;
Unity_Branch_float4(_Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4);
float _Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean = Crossfade;
float _Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean = Is_Billboard;
float _Split_8e113e5414194688aa2c165814b6360b_R_1_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[0];
float _Split_8e113e5414194688aa2c165814b6360b_G_2_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[1];
float _Split_8e113e5414194688aa2c165814b6360b_B_3_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[2];
float _Split_8e113e5414194688aa2c165814b6360b_A_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[3];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_R_1_Float = IN.VertexColor[0];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_G_2_Float = IN.VertexColor[1];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_B_3_Float = IN.VertexColor[2];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float = IN.VertexColor[3];
float _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float;
Unity_Multiply_float_float(_Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float);
float _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float;
Unity_Branch_float(_Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float);
float4 _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
float _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float;
LODDitheringTransitionSG_float(IN.WorldSpaceViewDirection, _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float);
float _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float;
Unity_Multiply_float_float(_Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float);
float _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Unity_Branch_float(_Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float);
Modified_Color_1 = (_Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4.xyz);
Modified_Alpha_4 = _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Original_Color_2 = (_SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.xyz);
Original_Alpha_3 = _Split_8e113e5414194688aa2c165814b6360b_A_4_Float;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
// unity-custom-func-begin
void GetMainLightData_float(float3 PositionWS, out float3 MainLightColor, out float3 MainLightDirWS, out float MainLightShadow){
Light mainLight = GetMainLight();
MainLightColor = mainLight.color;
MainLightDirWS = mainLight.direction;
float4 shadowCoord = TransformWorldToShadowCoord(PositionWS);
MainLightShadow = MainLightRealtimeShadow(shadowCoord);
}
// unity-custom-func-end
void Unity_DotProduct_float3(float3 A, float3 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Negate_float(float In, out float Out)
{
Out = -1 * In;
}
void Unity_Clamp_float(float In, float Min, float Max, out float Out)
{
Out = clamp(In, Min, Max);
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
// unity-custom-func-begin
void CalculateGGXTerm_float(float NdotH, float Roughness, out float GGXTerm){
float a2 = Roughness * Roughness;
float d = (NdotH * a2 - NdotH) * NdotH + 1.0f;
GGXTerm = 0.31830988618f * a2 / (d * d + 1e-7f);
}
// unity-custom-func-end
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
void Unity_Comparison_Less_float(float A, float B, out float Out)
{
Out = A < B ? 1 : 0;
}
void Unity_Not_float(float In, out float Out)
{
Out = !In;
}
void Unity_Or_float(float A, float B, out float Out)
{
Out = A || B;
}
struct Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float
{
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpacePosition;
float FaceSign;
half4 uv0;
};
void SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(float Enable_Normal_Map, UnityTexture2D Normal_Map, float3 Interpolated_Tangent_WS, float3 Interpolated_Bitangent_WS, float3 Interpolated_Normal_WS, float4 Backside_Normal_Transform_TS, float Transform_Backside_Normals, Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float IN, out float3 NormalWS_1, out float3 NormalTS_2)
{
float _Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean = Enable_Normal_Map;
UnityTexture2D _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D = Normal_Map;
float4 _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.tex, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.samplerstate, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4);
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.r;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.g;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.b;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_A_7_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.a;
float3 _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3 = float3(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float);
float _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float;
Unity_DotProduct_float3(_Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float);
float _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean;
Unity_Comparison_Equal_float(_DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float, float(0), _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean);
float3 _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3;
Unity_Branch_float3(_Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean, float3(0, 0, 1), _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3);
float _Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean = Transform_Backside_Normals;
float _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean;
Unity_Not_float(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean);
float _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean = max(0, IN.FaceSign.x);
float _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean;
Unity_Or_float(_Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean, _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean, _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean);
float4 _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4 = Backside_Normal_Transform_TS;
float4 _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4;
Unity_Branch_float4(_Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean, float4(1, 1, 1, 1), _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4, _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4);
float3 _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3;
Unity_Multiply_float3_float3(_Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3, (_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3);
float _Split_d262d084d8a24f75a887851e71acd55c_R_1_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[0];
float _Split_d262d084d8a24f75a887851e71acd55c_G_2_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[1];
float _Split_d262d084d8a24f75a887851e71acd55c_B_3_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[2];
float _Split_d262d084d8a24f75a887851e71acd55c_A_4_Float = 0;
float3 _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3 = Interpolated_Tangent_WS;
float3 _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_R_1_Float.xxx), _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3, _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3);
float3 _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3 = Interpolated_Bitangent_WS;
float3 _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_G_2_Float.xxx), _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3);
float3 _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3;
Unity_Add_float3(_Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3, _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3);
float3 _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3 = Interpolated_Normal_WS;
float3 _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_B_3_Float.xxx), _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3);
float3 _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3;
Unity_Add_float3(_Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3);
float3 _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3 = TransformWorldToTangentDir(_Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3.xyz - IN.WorldSpacePosition, tangentTransform, false);
}
float3 _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3;
Unity_Multiply_float3_float3((_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3, _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3);
float3 _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3 = TransformTangentToWorldDir(_Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3.xyz, tangentTransform, false).xyz + IN.WorldSpacePosition;
}
float3 _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3;
Unity_Branch_float3(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3);
float3 _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
Unity_Branch_float3(_Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3, _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3);
float3 _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3 = TransformWorldToTangentDir(_Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3.xyz, tangentTransform, false);
}
NormalWS_1 = _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
NormalTS_2 = _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
}
void Unity_Subtract_float4(float4 A, float4 B, out float4 Out)
{
Out = A - B;
}
void Unity_Normalize_float4(float4 In, out float4 Out)
{
Out = normalize(In);
}
void Unity_DotProduct_float4(float4 A, float4 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Lerp_float(float A, float B, float T, out float Out)
{
Out = lerp(A, B, T);
}
void Unity_Normalize_float3(float3 In, out float3 Out)
{
Out = normalize(In);
}
struct Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float FaceSign;
};
void SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float Vector1_B7478AA2, float3 Vector3_F863C863, float Vector1_2E103E32, float Boolean_1A7045BA, Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float IN, out float Opacity_1, out float3 NormalTangentSpace_2, out float3 NormalWorldSpace_3)
{
float _Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean = Boolean_1A7045BA;
float _IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean = max(0, IN.FaceSign.x);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M0_1_Vector4 = float4(UNITY_MATRIX_M[0].r, UNITY_MATRIX_M[1].r, UNITY_MATRIX_M[2].r, UNITY_MATRIX_M[3].r);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4 = float4(UNITY_MATRIX_M[0].g, UNITY_MATRIX_M[1].g, UNITY_MATRIX_M[2].g, UNITY_MATRIX_M[3].g);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M2_3_Vector4 = float4(UNITY_MATRIX_M[0].b, UNITY_MATRIX_M[1].b, UNITY_MATRIX_M[2].b, UNITY_MATRIX_M[3].b);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4 = float4(UNITY_MATRIX_M[0].a, UNITY_MATRIX_M[1].a, UNITY_MATRIX_M[2].a, UNITY_MATRIX_M[3].a);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M0_1_Vector4 = float4(UNITY_MATRIX_I_V[0].r, UNITY_MATRIX_I_V[1].r, UNITY_MATRIX_I_V[2].r, UNITY_MATRIX_I_V[3].r);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M1_2_Vector4 = float4(UNITY_MATRIX_I_V[0].g, UNITY_MATRIX_I_V[1].g, UNITY_MATRIX_I_V[2].g, UNITY_MATRIX_I_V[3].g);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M2_3_Vector4 = float4(UNITY_MATRIX_I_V[0].b, UNITY_MATRIX_I_V[1].b, UNITY_MATRIX_I_V[2].b, UNITY_MATRIX_I_V[3].b);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4 = float4(UNITY_MATRIX_I_V[0].a, UNITY_MATRIX_I_V[1].a, UNITY_MATRIX_I_V[2].a, UNITY_MATRIX_I_V[3].a);
float4 _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4;
Unity_Subtract_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4, _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4, _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4);
float4 _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4);
float4 _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4;
Unity_Normalize_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4, _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4);
float _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float;
Unity_DotProduct_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float);
float4 _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, (_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float.xxxx), _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4);
float4 _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4;
Unity_Subtract_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4, _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4);
float4 _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4, _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4);
float _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float;
Unity_DotProduct_float3((_Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4.xyz), IN.WorldSpaceNormal, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float);
float _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float);
float _Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float = Vector1_B7478AA2;
float _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float;
Unity_Multiply_float_float(_Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float, 0.0625, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float);
float _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float;
Unity_Subtract_float(_Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float, _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float);
float _Split_dc240df11f72a383b02ff5d20177297b_R_1_Float = IN.ObjectSpaceNormal[0];
float _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float = IN.ObjectSpaceNormal[1];
float _Split_dc240df11f72a383b02ff5d20177297b_B_3_Float = IN.ObjectSpaceNormal[2];
float _Split_dc240df11f72a383b02ff5d20177297b_A_4_Float = 0;
float _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float);
float _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float;
Unity_Multiply_float_float(_Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float);
float _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float;
Unity_Multiply_float_float(_Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float);
float _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float;
Unity_Lerp_float(_Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float, _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float, _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float);
float _Add_facc917224db51879999a44d20c9e100_Out_2_Float;
Unity_Add_float(_Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float, float(0.05), _Add_facc917224db51879999a44d20c9e100_Out_2_Float);
float _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float;
Unity_Saturate_float(_Add_facc917224db51879999a44d20c9e100_Out_2_Float, _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float);
float _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float = Vector1_2E103E32;
float _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float;
Unity_Multiply_float_float(_Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float);
float _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float;
Unity_Branch_float(_IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float, float(0), _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float);
float _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
Unity_Branch_float(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float);
float3 _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3 = Vector3_F863C863;
float _Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[0];
float _Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[1];
float _Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[2];
float _Split_233978cea2bd558992e45bf1b593c9f6_A_4_Float = 0;
float3 _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float.xxx), IN.WorldSpaceTangent, _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3);
float3 _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float.xxx), IN.WorldSpaceBiTangent, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3);
float3 _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3;
Unity_Add_float3(_Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3, _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3);
float4 _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, float4(-0.1, -0.1, -0.1, -1), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4);
float4 _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4;
Unity_Multiply_float4_float4((_Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float.xxxx), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4, _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4);
float3 _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3;
Unity_Add_float3(_Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3, (_Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4.xyz), _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3);
float3 _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3;
Unity_Normalize_float3(_Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3);
float3 _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3 = TransformWorldToTangentDir(_Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3.xyz, tangentTransform, false);
}
float3 _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3, _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3, _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3);
float3 _Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3 = TransformTangentToWorldDir(_Property_867e845d3b5417839226e67526ede381_Out_0_Vector3.xyz, tangentTransform, false).xyz;
}
float3 _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3;
Unity_Normalize_float3(_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3);
float3 _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3, _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3);
Opacity_1 = _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
NormalTangentSpace_2 = _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
NormalWorldSpace_3 = _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float = _BillboardKwToggle;
Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv2 = IN.uv2;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv3 = IN.uv3;
float3 _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3;
SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(IN.ObjectSpacePosition, ((bool) _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float), _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515, _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3);
Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv0 = IN.uv0;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv1 = IN.uv1;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv2 = IN.uv2;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv3 = IN.uv3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3;
SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3);
description.Position = _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
description.TangentWS = IN.WorldSpaceTangent;
description.BitangentWS = IN.WorldSpaceBiTangent;
description.NormalWS = IN.WorldSpaceNormal;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float3 BaseColor;
float3 Emission;
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
UnityTexture2D _Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_MainTex);
float4 _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4 = _Color;
float _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean = _HueVariationKwToggle;
float4 _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4 = _HueVariationColor;
float _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float = _BillboardKwToggle;
float _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean;
Unity_Comparison_Equal_float(float(1), _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean);
Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.WorldSpaceViewDirection = IN.WorldSpaceViewDirection;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.VertexColor = IN.VertexColor;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.NDCPosition = IN.NDCPosition;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.uv0 = IN.uv0;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float;
SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(_Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D, _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4, _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean, _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4, 0, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, 0, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float);
float _Property_fef8d4d378d143ebb0b97892de3c45ce_Out_0_Boolean = _SubsurfaceKwToggle;
float _Property_11442dff9b1442d78ebc3110b9f3a8f1_Out_0_Float = _SubsurfaceIndirect;
float4 _Property_709afb6693e3d48f9e0fe8353d16fabf_Out_0_Vector4 = _SubsurfaceColor;
UnityTexture2D _Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_SubsurfaceTex);
float4 _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D.tex, _Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D.samplerstate, _Property_f8d0ed5df70de08889c7e56ff90b6ab0_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_R_4_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.r;
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_G_5_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.g;
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_B_6_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.b;
float _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_A_7_Float = _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4.a;
float4 _Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_709afb6693e3d48f9e0fe8353d16fabf_Out_0_Vector4, _SampleTexture2D_a71ebbc35a99a18f84765fafdb9a91f7_RGBA_0_Vector4, _Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4);
float3 _BakedGI_6c8d4189cca54b0bb31a10b8cacbef04_Out_1_Vector3 = SHADERGRAPH_BAKED_GI(IN.WorldSpacePosition, IN.WorldSpaceNormal, IN.PixelPosition.xy, IN.uv1.xy, IN.uv2.xy, true);
float3 _Multiply_b9d74182779c42ecb586225be482743b_Out_2_Vector3;
Unity_Multiply_float3_float3((_Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4.xyz), _BakedGI_6c8d4189cca54b0bb31a10b8cacbef04_Out_1_Vector3, _Multiply_b9d74182779c42ecb586225be482743b_Out_2_Vector3);
float3 _Multiply_c2d5a0f05a59489da242ba1146fdaccd_Out_2_Vector3;
Unity_Multiply_float3_float3((_Property_11442dff9b1442d78ebc3110b9f3a8f1_Out_0_Float.xxx), _Multiply_b9d74182779c42ecb586225be482743b_Out_2_Vector3, _Multiply_c2d5a0f05a59489da242ba1146fdaccd_Out_2_Vector3);
float3 _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightColor_0_Vector3;
float3 _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightDirWS_1_Vector3;
float _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightShadow_2_Float;
GetMainLightData_float(IN.WorldSpacePosition, _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightColor_0_Vector3, _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightDirWS_1_Vector3, _GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightShadow_2_Float);
float _DotProduct_64dfb31347ab4d7287efb52434b8836c_Out_2_Float;
Unity_DotProduct_float3(_GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightDirWS_1_Vector3, IN.WorldSpaceViewDirection, _DotProduct_64dfb31347ab4d7287efb52434b8836c_Out_2_Float);
float _Negate_a2216566144a4988be01606302dfa265_Out_1_Float;
Unity_Negate_float(_DotProduct_64dfb31347ab4d7287efb52434b8836c_Out_2_Float, _Negate_a2216566144a4988be01606302dfa265_Out_1_Float);
float _Clamp_5bf41f6643f54da59312368ca05f4b91_Out_3_Float;
Unity_Clamp_float(_Negate_a2216566144a4988be01606302dfa265_Out_1_Float, float(0), float(1), _Clamp_5bf41f6643f54da59312368ca05f4b91_Out_3_Float);
float _Property_abefaa2e04384647ade061fbdb88d3aa_Out_0_Float = _Glossiness;
float _Multiply_ece0f3450c4140d99a7c0b11b890d0f7_Out_2_Float;
Unity_Multiply_float_float(_Property_abefaa2e04384647ade061fbdb88d3aa_Out_0_Float, 0.5, _Multiply_ece0f3450c4140d99a7c0b11b890d0f7_Out_2_Float);
float _Subtract_c17b65a47344429dbfdd50f1a9d807cd_Out_2_Float;
Unity_Subtract_float(float(0.7), _Multiply_ece0f3450c4140d99a7c0b11b890d0f7_Out_2_Float, _Subtract_c17b65a47344429dbfdd50f1a9d807cd_Out_2_Float);
float _CalculateGGXTermCustomFunction_8fb8aa09e42645e09bd84e7dfd21851d_GGXTerm_0_Float;
CalculateGGXTerm_float(_Clamp_5bf41f6643f54da59312368ca05f4b91_Out_3_Float, _Subtract_c17b65a47344429dbfdd50f1a9d807cd_Out_2_Float, _CalculateGGXTermCustomFunction_8fb8aa09e42645e09bd84e7dfd21851d_GGXTerm_0_Float);
float _Multiply_17d7dc4f6e794779910b137ed57a3b6e_Out_2_Float;
Unity_Multiply_float_float(_GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightShadow_2_Float, _CalculateGGXTermCustomFunction_8fb8aa09e42645e09bd84e7dfd21851d_GGXTerm_0_Float, _Multiply_17d7dc4f6e794779910b137ed57a3b6e_Out_2_Float);
float3 _Multiply_3ad768038acf4f4ab5dd211febf7bc35_Out_2_Vector3;
Unity_Multiply_float3_float3(_GetMainLightDataCustomFunction_156de524935543519602ba507a678b01_MainLightColor_0_Vector3, (_Multiply_17d7dc4f6e794779910b137ed57a3b6e_Out_2_Float.xxx), _Multiply_3ad768038acf4f4ab5dd211febf7bc35_Out_2_Vector3);
float3 _Multiply_0c427f652eed4b12bd34ff8d1aec3bdb_Out_2_Vector3;
Unity_Multiply_float3_float3((_Multiply_858f881045766d82940b50ffbd9e2d4d_Out_2_Vector4.xyz), _Multiply_3ad768038acf4f4ab5dd211febf7bc35_Out_2_Vector3, _Multiply_0c427f652eed4b12bd34ff8d1aec3bdb_Out_2_Vector3);
float3 _Add_6618fd5f944b4b938837070778416aad_Out_2_Vector3;
Unity_Add_float3(_Multiply_c2d5a0f05a59489da242ba1146fdaccd_Out_2_Vector3, _Multiply_0c427f652eed4b12bd34ff8d1aec3bdb_Out_2_Vector3, _Add_6618fd5f944b4b938837070778416aad_Out_2_Vector3);
float3 _Branch_a42b5636715a40edba24cf0ca2ec62d5_Out_3_Vector3;
Unity_Branch_float3(_Property_fef8d4d378d143ebb0b97892de3c45ce_Out_0_Boolean, _Add_6618fd5f944b4b938837070778416aad_Out_2_Vector3, float3(0, 0, 0), _Branch_a42b5636715a40edba24cf0ca2ec62d5_Out_3_Vector3);
float _Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean = _NormalMapKwToggle;
UnityTexture2D _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_NormalMap);
float _Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float = Backface_Normal_Mode;
float _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(0.5), _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean);
float4 _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4 = float4(float(-1), float(-1), float(-1), float(1));
float _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(1.5), _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean);
float4 _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4 = float4(float(1), float(1), float(-1), float(1));
float4 _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4 = float4(float(1), float(1), float(1), float(1));
float4 _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4;
Unity_Branch_float4(_Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean, _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4, _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4);
float4 _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4;
Unity_Branch_float4(_Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean, _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4);
Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpacePosition = IN.WorldSpacePosition;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.FaceSign = IN.FaceSign;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.uv0 = IN.uv0;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3;
SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(_Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean, _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D, IN.TangentWS, IN.BitangentWS, IN.NormalWS, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4, 0, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3);
Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.FaceSign = IN.FaceSign;
float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float(8), _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3);
float _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float = _AlphaClipThreshold;
surface.BaseColor = _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
surface.Emission = _Branch_a42b5636715a40edba24cf0ca2ec62d5_Out_3_Vector3;
surface.Alpha = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
surface.AlphaClipThreshold = _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float;
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.WorldSpaceTangent = TransformObjectToWorldDir(input.tangentOS.xyz);
output.ObjectSpaceBiTangent = normalize(cross(input.normalOS, input.tangentOS.xyz) * (input.tangentOS.w > 0.0f ? 1.0f : -1.0f) * GetOddNegativeScale());
output.WorldSpaceBiTangent = TransformObjectToWorldDir(output.ObjectSpaceBiTangent);
output.ObjectSpacePosition = input.positionOS;
output.uv0 = input.uv0;
output.uv1 = input.uv1;
output.uv2 = input.uv2;
output.uv3 = input.uv3;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
// must use interpolated tangent, bitangent and normal before they are normalized in the pixel shader.
float3 unnormalizedNormalWS = input.normalWS;
const float renormFactor = 1.0 / length(unnormalizedNormalWS);
// use bitangent on the fly like in hdrp
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped.
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0)* GetOddNegativeScale();
float3 bitang = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz);
output.WorldSpaceNormal = renormFactor * input.normalWS.xyz; // we want a unit length Normal Vector node in shader graph
output.ObjectSpaceNormal = normalize(mul(output.WorldSpaceNormal, (float3x3) UNITY_MATRIX_M)); // transposed multiplication by inverse matrix to handle normal scale
// to pr eserve mikktspace compliance we use same scale renormFactor as was used on the normal.
// This is explained in section 2.2 in "surface gradient based bump mapping framework"
output.WorldSpaceTangent = renormFactor * input.tangentWS.xyz;
output.WorldSpaceBiTangent = renormFactor * bitang;
output.WorldSpaceViewDirection = GetWorldSpaceNormalizeViewDir(input.positionWS);
output.WorldSpacePosition = input.positionWS;
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.uv1 = input.texCoord1;
output.uv2 = input.texCoord2;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/LightingMetaPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
<Packages/com.unity.render-pipelines.universal/Shaders/NatureSpeedTree9_URP.shadergraph<00><><EFBFBD><EFBFBD>c<00><amKlس<6C>-B<>&<26>@_ _WIND_SHIMMER_ _WIND_BRANCH1_ _WIND_BRANCH2_ _WIND_SHARED_ _WIND_RIPPLE_EDITOR_VISUALIZATION_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER_EDITOR_VISUALIZATION_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER&_FOVEATED_RENDERING_NON_UNIFORM_RASTER
SHADOWS_SOFT<46>DIRLIGHTMAP_COMBINED<45>DYNAMICLIGHTMAP_ON<00>SHADOWS_SCREEN<00> INSTANCING_ONPROCEDURAL_INSTANCING_ON@STEREO_MULTIVIEW_ON<00>STEREO_INSTANCING_ON<4F>"UNITY_DEVICE_SUPPORTS_NATIVE_16BIT (UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACING&_FOVEATED_RENDERING_NON_UNIFORM_RASTER<>$#if defined(SHADER_STAGE_VERTEX)
#define _WIND_SHIMMER_KEYWORD_DECLARED 1
#define _WIND_BRANCH1_KEYWORD_DECLARED 1
#define _WIND_BRANCH2_KEYWORD_DECLARED 1
#define _WIND_SHARED_KEYWORD_DECLARED 1
#define _WIND_RIPPLE_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#endif
#if defined(SHADER_STAGE_FRAGMENT)
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#endif
cbuffer UnityDynamicKeywords {
int _FOVEATED_RENDERING_NON_UNIFORM_RASTER;
};
#line 8480 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
#define UNITY_INSTANCED_LOD_FADE
#define UNITY_INSTANCED_SH
#define UNITY_INSTANCED_LIGHTMAPSTS
#define UNITY_INSTANCED_RENDERER_BOUNDS
#line 8480 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
/* UNITY: Original start of shader */
// Pragmas
#pragma target 2.0
#pragma vertex vert
#pragma fragment frag
// Keywords
// PassKeywords: <None>
#pragma shader_feature_vertex _ _WIND_SHIMMER
#pragma shader_feature_vertex _ _WIND_BRANCH1
#pragma shader_feature_vertex _ _WIND_BRANCH2
#pragma shader_feature_vertex _ _WIND_SHARED
#pragma shader_feature_vertex _ _WIND_RIPPLE
#if defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_0
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_1
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_2
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_3
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_4
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_5
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_6
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_7
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_8
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_9
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_10
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_11
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_12
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_13
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_14
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_15
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_16
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_17
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_18
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_19
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_20
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_21
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_22
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_23
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_24
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_25
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_26
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_27
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_28
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_29
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_30
#elif defined(LOD_FADE_CROSSFADE)
#define KEYWORD_PERMUTATION_31
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_32
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_33
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_34
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_35
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_36
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_37
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_38
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_39
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_40
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_41
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_42
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_43
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_44
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_45
#elif defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_46
#elif defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_47
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_48
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_49
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_50
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_51
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_52
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_53
#elif defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_54
#elif defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_55
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_56
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_57
#elif defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_58
#elif defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_59
#elif defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_60
#elif defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_61
#elif defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_62
#else
#define KEYWORD_PERMUTATION_63
#endif
// Defines
#define _NORMALMAP 1
#define _NORMAL_DROPOFF_WS 1
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_TEXCOORD3
#define ATTRIBUTES_NEED_COLOR
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TANGENT_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_COLOR
#define VARYINGS_NEED_CULLFACE
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_DEPTHONLY
#define SCENESELECTIONPASS 1
#define ALPHA_CLIP_THRESHOLD 1
#define _ALPHATEST_ON 1
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 uv3 : TEXCOORD3;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 tangentWS;
float4 texCoord0;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct SurfaceDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpaceViewDirection;
float3 WorldSpacePosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 VertexColor;
float FaceSign;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 WorldSpaceTangent;
float3 ObjectSpaceBiTangent;
float3 WorldSpaceBiTangent;
float3 ObjectSpacePosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 uv3;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 tangentWS : INTERP0;
float4 texCoord0 : INTERP1;
float4 color : INTERP2;
float4 packed_positionWS_NormalWSx : INTERP3;
float4 packed_normalWS_NormalWSy : INTERP4;
float4 packed_TangentWS_NormalWSz : INTERP5;
float3 BitangentWS : INTERP6;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.tangentWS.xyzw = input.tangentWS;
output.texCoord0.xyzw = input.texCoord0;
output.color.xyzw = input.color;
output.packed_positionWS_NormalWSx.xyz = input.positionWS;
output.packed_positionWS_NormalWSx.w = input.NormalWS.x;
output.packed_normalWS_NormalWSy.xyz = input.normalWS;
output.packed_normalWS_NormalWSy.w = input.NormalWS.y;
output.packed_TangentWS_NormalWSz.xyz = input.TangentWS;
output.packed_TangentWS_NormalWSz.w = input.NormalWS.z;
output.BitangentWS.xyz = input.BitangentWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.tangentWS = input.tangentWS.xyzw;
output.texCoord0 = input.texCoord0.xyzw;
output.color = input.color.xyzw;
output.positionWS = input.packed_positionWS_NormalWSx.xyz;
output.NormalWS.x = input.packed_positionWS_NormalWSx.w;
output.normalWS = input.packed_normalWS_NormalWSy.xyz;
output.NormalWS.y = input.packed_normalWS_NormalWSy.w;
output.TangentWS = input.packed_TangentWS_NormalWSz.xyz;
output.NormalWS.z = input.packed_TangentWS_NormalWSz.w;
output.BitangentWS = input.BitangentWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _MainTex_TexelSize;
float4 _Color;
float _HueVariationKwToggle;
float4 _HueVariationColor;
float _NormalMapKwToggle;
float4 _NormalMap_TexelSize;
float EFFECT_EXTRA_TEX;
float4 _ExtraTex_TexelSize;
float _Glossiness;
float _Metallic;
float _SubsurfaceKwToggle;
float _SubsurfaceIndirect;
float4 _SubsurfaceColor;
float4 _SubsurfaceTex_TexelSize;
float _AlphaClipThreshold;
float Backface_Normal_Mode;
float _BillboardKwToggle;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
TEXTURE2D(_NormalMap);
SAMPLER(sampler_NormalMap);
TEXTURE2D(_ExtraTex);
SAMPLER(sampler_ExtraTex);
TEXTURE2D(_SubsurfaceTex);
SAMPLER(sampler_SubsurfaceTex);
// Graph Includes
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTreeCommon.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTree9Wind.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/LODDitheringTransition.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float
{
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(float3 Vector3_DF61F3B, float _IsBillboard, Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float IN, out float3 ObjectSpacePositionOut_1)
{
float _Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean = _IsBillboard;
float3 _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3 = Vector3_DF61F3B;
float4 _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4 = IN.uv2;
float4 _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3;
SpeedTree9LeafFacing_float(_Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4, _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3);
float3 _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
Unity_Branch_float3(_Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean, _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3, _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3);
ObjectSpacePositionOut_1 = _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
}
void Unity_Subtract_float3(float3 A, float3 B, out float3 Out)
{
Out = A - B;
}
struct Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float
{
float3 ObjectSpaceNormal;
half4 uv0;
half4 uv1;
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(float3 _ObjectSpaceVertexPosition, Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float IN, out float3 AnimatedVertexObjectSpacePosition_1, out float3 ObjectSpaceMotionVector_2)
{
float3 _Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3 = _ObjectSpaceVertexPosition;
float4 _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4 = IN.uv0;
float4 _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4 = IN.uv1;
float4 _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4 = IN.uv2;
float4 _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 0, _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3);
float3 _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 1, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3);
float3 _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
Unity_Subtract_float3(_SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3, _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3);
AnimatedVertexObjectSpacePosition_1 = _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
ObjectSpaceMotionVector_2 = _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
}
void Unity_Comparison_Less_float(float A, float B, out float Out)
{
Out = A < B ? 1 : 0;
}
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
{
Out = Predicate ? True : False;
}
void Unity_DotProduct_float3(float3 A, float3 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Comparison_Equal_float(float A, float B, out float Out)
{
Out = A == B ? 1 : 0;
}
void Unity_Not_float(float In, out float Out)
{
Out = !In;
}
void Unity_Or_float(float A, float B, out float Out)
{
Out = A || B;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
struct Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float
{
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpacePosition;
float FaceSign;
half4 uv0;
};
void SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(float Enable_Normal_Map, UnityTexture2D Normal_Map, float3 Interpolated_Tangent_WS, float3 Interpolated_Bitangent_WS, float3 Interpolated_Normal_WS, float4 Backside_Normal_Transform_TS, float Transform_Backside_Normals, Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float IN, out float3 NormalWS_1, out float3 NormalTS_2)
{
float _Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean = Enable_Normal_Map;
UnityTexture2D _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D = Normal_Map;
float4 _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.tex, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.samplerstate, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4);
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.r;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.g;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.b;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_A_7_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.a;
float3 _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3 = float3(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float);
float _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float;
Unity_DotProduct_float3(_Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float);
float _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean;
Unity_Comparison_Equal_float(_DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float, float(0), _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean);
float3 _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3;
Unity_Branch_float3(_Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean, float3(0, 0, 1), _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3);
float _Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean = Transform_Backside_Normals;
float _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean;
Unity_Not_float(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean);
float _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean = max(0, IN.FaceSign.x);
float _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean;
Unity_Or_float(_Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean, _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean, _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean);
float4 _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4 = Backside_Normal_Transform_TS;
float4 _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4;
Unity_Branch_float4(_Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean, float4(1, 1, 1, 1), _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4, _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4);
float3 _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3;
Unity_Multiply_float3_float3(_Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3, (_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3);
float _Split_d262d084d8a24f75a887851e71acd55c_R_1_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[0];
float _Split_d262d084d8a24f75a887851e71acd55c_G_2_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[1];
float _Split_d262d084d8a24f75a887851e71acd55c_B_3_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[2];
float _Split_d262d084d8a24f75a887851e71acd55c_A_4_Float = 0;
float3 _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3 = Interpolated_Tangent_WS;
float3 _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_R_1_Float.xxx), _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3, _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3);
float3 _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3 = Interpolated_Bitangent_WS;
float3 _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_G_2_Float.xxx), _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3);
float3 _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3;
Unity_Add_float3(_Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3, _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3);
float3 _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3 = Interpolated_Normal_WS;
float3 _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_B_3_Float.xxx), _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3);
float3 _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3;
Unity_Add_float3(_Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3);
float3 _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3 = TransformWorldToTangentDir(_Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3.xyz - IN.WorldSpacePosition, tangentTransform, false);
}
float3 _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3;
Unity_Multiply_float3_float3((_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3, _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3);
float3 _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3 = TransformTangentToWorldDir(_Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3.xyz, tangentTransform, false).xyz + IN.WorldSpacePosition;
}
float3 _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3;
Unity_Branch_float3(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3);
float3 _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
Unity_Branch_float3(_Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3, _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3);
float3 _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3 = TransformWorldToTangentDir(_Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3.xyz, tangentTransform, false);
}
NormalWS_1 = _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
NormalTS_2 = _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Fraction_float(float In, out float Out)
{
Out = frac(In);
}
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
{
Out = lerp(A, B, T);
}
void Unity_Blend_Overlay_float4(float4 Base, float4 Blend, out float4 Out, float Opacity)
{
float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend);
float4 result2 = 2.0 * Base * Blend;
float4 zeroOrOne = step(Base, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
Out = lerp(Base, Out, Opacity);
}
void Unity_Maximum_float(float A, float B, out float Out)
{
Out = max(A, B);
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float4(float4 In, out float4 Out)
{
Out = saturate(In);
}
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float
{
float3 WorldSpaceViewDirection;
float4 VertexColor;
float2 NDCPosition;
half4 uv0;
};
void SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(UnityTexture2D Base_Map, float4 Color_Tint, float Enable_Hue_Variation, float4 Hue_Variation_Color, float Use_Old_Hue_Variation_Behavior, float Is_Billboard, float Crossfade, Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float IN, out float3 Modified_Color_1, out float Modified_Alpha_4, out float3 Original_Color_2, out float Original_Alpha_3)
{
float _Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean = Enable_Hue_Variation;
float _Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean = Use_Old_Hue_Variation_Behavior;
float4 _Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4 = Color_Tint;
UnityTexture2D _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D = Base_Map;
float4 _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.tex, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.samplerstate, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_R_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.r;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_G_5_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.g;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_B_6_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.b;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_A_7_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.a;
float4 _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4, _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4);
float4 _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4 = Hue_Variation_Color;
float _Split_1e71fee3241d42eea8e7ee1371975d5c_R_1_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[0];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_G_2_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[1];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_B_3_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[2];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[3];
float3 _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3;
{
// Converting Position from Object to AbsoluteWorld via world space
float3 world;
world = TransformObjectToWorld(float3 (0, 0, 0).xyz);
_Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3 = GetAbsolutePositionWS(world);
}
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[0];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[1];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[2];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_A_4_Float = 0;
float _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float;
Unity_Add_float(_Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float, _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float);
float _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float;
Unity_Add_float(_Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float, _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float);
float _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float;
Unity_Fraction_float(_Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float);
float _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float;
Unity_Multiply_float_float(_Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float, _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float);
float _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float;
Unity_Saturate_float(_Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4;
Unity_Lerp_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, (_Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float.xxxx), _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4);
float4 _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4;
Unity_Blend_Overlay_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4;
Unity_Branch_float4(_Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean, _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4);
float _Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[0];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[1];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[2];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_A_4_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[3];
float _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float;
Unity_Maximum_float(_Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float, _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float);
float _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float;
Unity_Maximum_float(_Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float, _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float);
float _Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[0];
float _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[1];
float _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[2];
float _Split_d9b6fd95965b407abd03352c64bd95d4_A_4_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[3];
float _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float;
Unity_Maximum_float(_Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float, _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float);
float _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float;
Unity_Maximum_float(_Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float);
float _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float;
Unity_Divide_float(_Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float, _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float);
float _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float;
Unity_Multiply_float_float(_Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float, 0.5, _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float);
float _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float;
Unity_Add_float(_Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float, float(0.5), _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float);
float4 _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4;
Unity_Multiply_float4_float4(_Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4, (_Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float.xxxx), _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4);
float4 _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4;
Unity_Saturate_float4(_Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4);
float4 _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4;
Unity_Branch_float4(_Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4);
float _Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean = Crossfade;
float _Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean = Is_Billboard;
float _Split_8e113e5414194688aa2c165814b6360b_R_1_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[0];
float _Split_8e113e5414194688aa2c165814b6360b_G_2_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[1];
float _Split_8e113e5414194688aa2c165814b6360b_B_3_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[2];
float _Split_8e113e5414194688aa2c165814b6360b_A_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[3];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_R_1_Float = IN.VertexColor[0];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_G_2_Float = IN.VertexColor[1];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_B_3_Float = IN.VertexColor[2];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float = IN.VertexColor[3];
float _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float;
Unity_Multiply_float_float(_Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float);
float _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float;
Unity_Branch_float(_Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float);
float4 _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
float _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float;
LODDitheringTransitionSG_float(IN.WorldSpaceViewDirection, _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float);
float _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float;
Unity_Multiply_float_float(_Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float);
float _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Unity_Branch_float(_Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float);
Modified_Color_1 = (_Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4.xyz);
Modified_Alpha_4 = _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Original_Color_2 = (_SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.xyz);
Original_Alpha_3 = _Split_8e113e5414194688aa2c165814b6360b_A_4_Float;
}
void Unity_Subtract_float4(float4 A, float4 B, out float4 Out)
{
Out = A - B;
}
void Unity_Normalize_float4(float4 In, out float4 Out)
{
Out = normalize(In);
}
void Unity_DotProduct_float4(float4 A, float4 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Lerp_float(float A, float B, float T, out float Out)
{
Out = lerp(A, B, T);
}
void Unity_Normalize_float3(float3 In, out float3 Out)
{
Out = normalize(In);
}
struct Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float FaceSign;
};
void SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float Vector1_B7478AA2, float3 Vector3_F863C863, float Vector1_2E103E32, float Boolean_1A7045BA, Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float IN, out float Opacity_1, out float3 NormalTangentSpace_2, out float3 NormalWorldSpace_3)
{
float _Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean = Boolean_1A7045BA;
float _IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean = max(0, IN.FaceSign.x);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M0_1_Vector4 = float4(UNITY_MATRIX_M[0].r, UNITY_MATRIX_M[1].r, UNITY_MATRIX_M[2].r, UNITY_MATRIX_M[3].r);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4 = float4(UNITY_MATRIX_M[0].g, UNITY_MATRIX_M[1].g, UNITY_MATRIX_M[2].g, UNITY_MATRIX_M[3].g);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M2_3_Vector4 = float4(UNITY_MATRIX_M[0].b, UNITY_MATRIX_M[1].b, UNITY_MATRIX_M[2].b, UNITY_MATRIX_M[3].b);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4 = float4(UNITY_MATRIX_M[0].a, UNITY_MATRIX_M[1].a, UNITY_MATRIX_M[2].a, UNITY_MATRIX_M[3].a);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M0_1_Vector4 = float4(UNITY_MATRIX_I_V[0].r, UNITY_MATRIX_I_V[1].r, UNITY_MATRIX_I_V[2].r, UNITY_MATRIX_I_V[3].r);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M1_2_Vector4 = float4(UNITY_MATRIX_I_V[0].g, UNITY_MATRIX_I_V[1].g, UNITY_MATRIX_I_V[2].g, UNITY_MATRIX_I_V[3].g);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M2_3_Vector4 = float4(UNITY_MATRIX_I_V[0].b, UNITY_MATRIX_I_V[1].b, UNITY_MATRIX_I_V[2].b, UNITY_MATRIX_I_V[3].b);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4 = float4(UNITY_MATRIX_I_V[0].a, UNITY_MATRIX_I_V[1].a, UNITY_MATRIX_I_V[2].a, UNITY_MATRIX_I_V[3].a);
float4 _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4;
Unity_Subtract_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4, _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4, _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4);
float4 _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4);
float4 _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4;
Unity_Normalize_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4, _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4);
float _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float;
Unity_DotProduct_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float);
float4 _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, (_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float.xxxx), _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4);
float4 _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4;
Unity_Subtract_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4, _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4);
float4 _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4, _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4);
float _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float;
Unity_DotProduct_float3((_Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4.xyz), IN.WorldSpaceNormal, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float);
float _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float);
float _Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float = Vector1_B7478AA2;
float _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float;
Unity_Multiply_float_float(_Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float, 0.0625, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float);
float _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float;
Unity_Subtract_float(_Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float, _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float);
float _Split_dc240df11f72a383b02ff5d20177297b_R_1_Float = IN.ObjectSpaceNormal[0];
float _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float = IN.ObjectSpaceNormal[1];
float _Split_dc240df11f72a383b02ff5d20177297b_B_3_Float = IN.ObjectSpaceNormal[2];
float _Split_dc240df11f72a383b02ff5d20177297b_A_4_Float = 0;
float _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float);
float _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float;
Unity_Multiply_float_float(_Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float);
float _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float;
Unity_Multiply_float_float(_Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float);
float _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float;
Unity_Lerp_float(_Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float, _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float, _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float);
float _Add_facc917224db51879999a44d20c9e100_Out_2_Float;
Unity_Add_float(_Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float, float(0.05), _Add_facc917224db51879999a44d20c9e100_Out_2_Float);
float _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float;
Unity_Saturate_float(_Add_facc917224db51879999a44d20c9e100_Out_2_Float, _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float);
float _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float = Vector1_2E103E32;
float _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float;
Unity_Multiply_float_float(_Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float);
float _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float;
Unity_Branch_float(_IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float, float(0), _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float);
float _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
Unity_Branch_float(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float);
float3 _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3 = Vector3_F863C863;
float _Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[0];
float _Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[1];
float _Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[2];
float _Split_233978cea2bd558992e45bf1b593c9f6_A_4_Float = 0;
float3 _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float.xxx), IN.WorldSpaceTangent, _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3);
float3 _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float.xxx), IN.WorldSpaceBiTangent, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3);
float3 _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3;
Unity_Add_float3(_Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3, _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3);
float4 _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, float4(-0.1, -0.1, -0.1, -1), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4);
float4 _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4;
Unity_Multiply_float4_float4((_Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float.xxxx), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4, _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4);
float3 _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3;
Unity_Add_float3(_Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3, (_Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4.xyz), _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3);
float3 _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3;
Unity_Normalize_float3(_Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3);
float3 _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3 = TransformWorldToTangentDir(_Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3.xyz, tangentTransform, false);
}
float3 _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3, _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3, _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3);
float3 _Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3 = TransformTangentToWorldDir(_Property_867e845d3b5417839226e67526ede381_Out_0_Vector3.xyz, tangentTransform, false).xyz;
}
float3 _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3;
Unity_Normalize_float3(_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3);
float3 _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3, _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3);
Opacity_1 = _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
NormalTangentSpace_2 = _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
NormalWorldSpace_3 = _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float = _BillboardKwToggle;
Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv2 = IN.uv2;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv3 = IN.uv3;
float3 _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3;
SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(IN.ObjectSpacePosition, ((bool) _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float), _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515, _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3);
Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv0 = IN.uv0;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv1 = IN.uv1;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv2 = IN.uv2;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv3 = IN.uv3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3;
SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3);
description.Position = _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
description.TangentWS = IN.WorldSpaceTangent;
description.BitangentWS = IN.WorldSpaceBiTangent;
description.NormalWS = IN.WorldSpaceNormal;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
float _Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean = _NormalMapKwToggle;
UnityTexture2D _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_NormalMap);
float _Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float = Backface_Normal_Mode;
float _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(0.5), _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean);
float4 _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4 = float4(float(-1), float(-1), float(-1), float(1));
float _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(1.5), _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean);
float4 _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4 = float4(float(1), float(1), float(-1), float(1));
float4 _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4 = float4(float(1), float(1), float(1), float(1));
float4 _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4;
Unity_Branch_float4(_Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean, _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4, _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4);
float4 _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4;
Unity_Branch_float4(_Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean, _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4);
Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpacePosition = IN.WorldSpacePosition;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.FaceSign = IN.FaceSign;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.uv0 = IN.uv0;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3;
SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(_Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean, _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D, IN.TangentWS, IN.BitangentWS, IN.NormalWS, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4, 0, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3);
UnityTexture2D _Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_MainTex);
float4 _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4 = _Color;
float _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean = _HueVariationKwToggle;
float4 _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4 = _HueVariationColor;
float _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float = _BillboardKwToggle;
float _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean;
Unity_Comparison_Equal_float(float(1), _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean);
Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.WorldSpaceViewDirection = IN.WorldSpaceViewDirection;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.VertexColor = IN.VertexColor;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.NDCPosition = IN.NDCPosition;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.uv0 = IN.uv0;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float;
SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(_Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D, _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4, _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean, _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4, 0, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, 0, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float);
Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.FaceSign = IN.FaceSign;
float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float(8), _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3);
float _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float = _AlphaClipThreshold;
surface.Alpha = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
surface.AlphaClipThreshold = _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float;
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.WorldSpaceTangent = TransformObjectToWorldDir(input.tangentOS.xyz);
output.ObjectSpaceBiTangent = normalize(cross(input.normalOS, input.tangentOS.xyz) * (input.tangentOS.w > 0.0f ? 1.0f : -1.0f) * GetOddNegativeScale());
output.WorldSpaceBiTangent = TransformObjectToWorldDir(output.ObjectSpaceBiTangent);
output.ObjectSpacePosition = input.positionOS;
output.uv0 = input.uv0;
output.uv1 = input.uv1;
output.uv2 = input.uv2;
output.uv3 = input.uv3;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
// must use interpolated tangent, bitangent and normal before they are normalized in the pixel shader.
float3 unnormalizedNormalWS = input.normalWS;
const float renormFactor = 1.0 / length(unnormalizedNormalWS);
// use bitangent on the fly like in hdrp
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped.
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0)* GetOddNegativeScale();
float3 bitang = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz);
output.WorldSpaceNormal = renormFactor * input.normalWS.xyz; // we want a unit length Normal Vector node in shader graph
output.ObjectSpaceNormal = normalize(mul(output.WorldSpaceNormal, (float3x3) UNITY_MATRIX_M)); // transposed multiplication by inverse matrix to handle normal scale
// to pr eserve mikktspace compliance we use same scale renormFactor as was used on the normal.
// This is explained in section 2.2 in "surface gradient based bump mapping framework"
output.WorldSpaceTangent = renormFactor * input.tangentWS.xyz;
output.WorldSpaceBiTangent = renormFactor * bitang;
output.WorldSpaceViewDirection = GetWorldSpaceNormalizeViewDir(input.positionWS);
output.WorldSpacePosition = input.positionWS;
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
<Packages/com.unity.render-pipelines.universal/Shaders/NatureSpeedTree9_URP.shadergraph<00><><EFBFBD><EFBFBD>"!<00><>N9L<1E><EFBFBD><7F><EFBFBD>I<EFBFBD>0<EFBFBD>y@_ _WIND_SHIMMER_ _WIND_BRANCH1_ _WIND_BRANCH2_ _WIND_SHARED_ _WIND_RIPPLE_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER_DOTS_INSTANCING_ON_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER_DOTS_INSTANCING_ON&_FOVEATED_RENDERING_NON_UNIFORM_RASTER DOTS_INSTANCING_ON<00><> SHADOWS_SOFT<46>DIRLIGHTMAP_COMBINED<45>DYNAMICLIGHTMAP_ON<00>SHADOWS_SCREEN<00> INSTANCING_ONPROCEDURAL_INSTANCING_ON@STEREO_MULTIVIEW_ON<00>STEREO_INSTANCING_ON<4F>"UNITY_DEVICE_SUPPORTS_NATIVE_16BIT (UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACING9_FOVEATED_RENDERING_NON_UNIFORM_RASTER DOTS_INSTANCING_ON<00><><00>#if defined(SHADER_STAGE_VERTEX)
#define _WIND_SHIMMER_KEYWORD_DECLARED 1
#define _WIND_BRANCH1_KEYWORD_DECLARED 1
#define _WIND_BRANCH2_KEYWORD_DECLARED 1
#define _WIND_SHARED_KEYWORD_DECLARED 1
#define _WIND_RIPPLE_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#endif
#if defined(SHADER_STAGE_FRAGMENT)
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#define DOTS_INSTANCING_ON_KEYWORD_DECLARED 1
#endif
cbuffer UnityDynamicKeywords {
int _FOVEATED_RENDERING_NON_UNIFORM_RASTER;
};
#line 9606 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
#define UNITY_INSTANCED_LOD_FADE
#define UNITY_INSTANCED_SH
#define UNITY_INSTANCED_LIGHTMAPSTS
#define UNITY_INSTANCED_RENDERER_BOUNDS
#line 9606 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
/* UNITY: Original start of shader */
// Pragmas
#pragma target 2.0
#pragma vertex vert
#pragma fragment frag
// Keywords
// PassKeywords: <None>
#pragma shader_feature_vertex _ _WIND_SHIMMER
#pragma shader_feature_vertex _ _WIND_BRANCH1
#pragma shader_feature_vertex _ _WIND_BRANCH2
#pragma shader_feature_vertex _ _WIND_SHARED
#pragma shader_feature_vertex _ _WIND_RIPPLE
#if defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_0
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_1
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_2
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_3
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_4
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_5
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_6
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_7
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_8
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_9
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_10
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_11
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_12
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_13
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_14
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_15
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_16
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_17
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_18
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_19
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_20
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_21
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_22
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_23
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_24
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_25
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_26
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_27
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_28
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_29
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_30
#elif defined(LOD_FADE_CROSSFADE)
#define KEYWORD_PERMUTATION_31
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_32
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_33
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_34
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_35
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_36
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_37
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_38
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_39
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_40
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_41
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_42
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_43
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_44
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_45
#elif defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_46
#elif defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_47
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_48
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_49
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_50
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_51
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_52
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_53
#elif defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_54
#elif defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_55
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_56
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_57
#elif defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_58
#elif defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_59
#elif defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_60
#elif defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_61
#elif defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_62
#else
#define KEYWORD_PERMUTATION_63
#endif
// Defines
#define _NORMALMAP 1
#define _NORMAL_DROPOFF_WS 1
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_TEXCOORD3
#define ATTRIBUTES_NEED_COLOR
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TANGENT_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_COLOR
#define VARYINGS_NEED_CULLFACE
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_DEPTHONLY
#define SCENEPICKINGPASS 1
#define ALPHA_CLIP_THRESHOLD 1
#define _ALPHATEST_ON 1
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 uv3 : TEXCOORD3;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 tangentWS;
float4 texCoord0;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct SurfaceDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpaceViewDirection;
float3 WorldSpacePosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 VertexColor;
float FaceSign;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 WorldSpaceTangent;
float3 ObjectSpaceBiTangent;
float3 WorldSpaceBiTangent;
float3 ObjectSpacePosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 uv3;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 tangentWS : INTERP0;
float4 texCoord0 : INTERP1;
float4 color : INTERP2;
float4 packed_positionWS_NormalWSx : INTERP3;
float4 packed_normalWS_NormalWSy : INTERP4;
float4 packed_TangentWS_NormalWSz : INTERP5;
float3 BitangentWS : INTERP6;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.tangentWS.xyzw = input.tangentWS;
output.texCoord0.xyzw = input.texCoord0;
output.color.xyzw = input.color;
output.packed_positionWS_NormalWSx.xyz = input.positionWS;
output.packed_positionWS_NormalWSx.w = input.NormalWS.x;
output.packed_normalWS_NormalWSy.xyz = input.normalWS;
output.packed_normalWS_NormalWSy.w = input.NormalWS.y;
output.packed_TangentWS_NormalWSz.xyz = input.TangentWS;
output.packed_TangentWS_NormalWSz.w = input.NormalWS.z;
output.BitangentWS.xyz = input.BitangentWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.tangentWS = input.tangentWS.xyzw;
output.texCoord0 = input.texCoord0.xyzw;
output.color = input.color.xyzw;
output.positionWS = input.packed_positionWS_NormalWSx.xyz;
output.NormalWS.x = input.packed_positionWS_NormalWSx.w;
output.normalWS = input.packed_normalWS_NormalWSy.xyz;
output.NormalWS.y = input.packed_normalWS_NormalWSy.w;
output.TangentWS = input.packed_TangentWS_NormalWSz.xyz;
output.NormalWS.z = input.packed_TangentWS_NormalWSz.w;
output.BitangentWS = input.BitangentWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _MainTex_TexelSize;
float4 _Color;
float _HueVariationKwToggle;
float4 _HueVariationColor;
float _NormalMapKwToggle;
float4 _NormalMap_TexelSize;
float EFFECT_EXTRA_TEX;
float4 _ExtraTex_TexelSize;
float _Glossiness;
float _Metallic;
float _SubsurfaceKwToggle;
float _SubsurfaceIndirect;
float4 _SubsurfaceColor;
float4 _SubsurfaceTex_TexelSize;
float _AlphaClipThreshold;
float Backface_Normal_Mode;
float _BillboardKwToggle;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
TEXTURE2D(_NormalMap);
SAMPLER(sampler_NormalMap);
TEXTURE2D(_ExtraTex);
SAMPLER(sampler_ExtraTex);
TEXTURE2D(_SubsurfaceTex);
SAMPLER(sampler_SubsurfaceTex);
// Graph Includes
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTreeCommon.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTree9Wind.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/LODDitheringTransition.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float
{
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(float3 Vector3_DF61F3B, float _IsBillboard, Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float IN, out float3 ObjectSpacePositionOut_1)
{
float _Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean = _IsBillboard;
float3 _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3 = Vector3_DF61F3B;
float4 _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4 = IN.uv2;
float4 _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3;
SpeedTree9LeafFacing_float(_Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4, _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3);
float3 _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
Unity_Branch_float3(_Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean, _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3, _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3);
ObjectSpacePositionOut_1 = _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
}
void Unity_Subtract_float3(float3 A, float3 B, out float3 Out)
{
Out = A - B;
}
struct Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float
{
float3 ObjectSpaceNormal;
half4 uv0;
half4 uv1;
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(float3 _ObjectSpaceVertexPosition, Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float IN, out float3 AnimatedVertexObjectSpacePosition_1, out float3 ObjectSpaceMotionVector_2)
{
float3 _Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3 = _ObjectSpaceVertexPosition;
float4 _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4 = IN.uv0;
float4 _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4 = IN.uv1;
float4 _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4 = IN.uv2;
float4 _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 0, _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3);
float3 _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 1, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3);
float3 _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
Unity_Subtract_float3(_SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3, _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3);
AnimatedVertexObjectSpacePosition_1 = _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
ObjectSpaceMotionVector_2 = _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
}
void Unity_Comparison_Equal_float(float A, float B, out float Out)
{
Out = A == B ? 1 : 0;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Fraction_float(float In, out float Out)
{
Out = frac(In);
}
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
{
Out = lerp(A, B, T);
}
void Unity_Blend_Overlay_float4(float4 Base, float4 Blend, out float4 Out, float Opacity)
{
float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend);
float4 result2 = 2.0 * Base * Blend;
float4 zeroOrOne = step(Base, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
Out = lerp(Base, Out, Opacity);
}
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
{
Out = Predicate ? True : False;
}
void Unity_Maximum_float(float A, float B, out float Out)
{
Out = max(A, B);
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float4(float4 In, out float4 Out)
{
Out = saturate(In);
}
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float
{
float3 WorldSpaceViewDirection;
float4 VertexColor;
float2 NDCPosition;
half4 uv0;
};
void SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(UnityTexture2D Base_Map, float4 Color_Tint, float Enable_Hue_Variation, float4 Hue_Variation_Color, float Use_Old_Hue_Variation_Behavior, float Is_Billboard, float Crossfade, Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float IN, out float3 Modified_Color_1, out float Modified_Alpha_4, out float3 Original_Color_2, out float Original_Alpha_3)
{
float _Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean = Enable_Hue_Variation;
float _Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean = Use_Old_Hue_Variation_Behavior;
float4 _Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4 = Color_Tint;
UnityTexture2D _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D = Base_Map;
float4 _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.tex, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.samplerstate, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_R_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.r;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_G_5_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.g;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_B_6_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.b;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_A_7_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.a;
float4 _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4, _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4);
float4 _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4 = Hue_Variation_Color;
float _Split_1e71fee3241d42eea8e7ee1371975d5c_R_1_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[0];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_G_2_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[1];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_B_3_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[2];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[3];
float3 _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3;
{
// Converting Position from Object to AbsoluteWorld via world space
float3 world;
world = TransformObjectToWorld(float3 (0, 0, 0).xyz);
_Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3 = GetAbsolutePositionWS(world);
}
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[0];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[1];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[2];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_A_4_Float = 0;
float _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float;
Unity_Add_float(_Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float, _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float);
float _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float;
Unity_Add_float(_Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float, _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float);
float _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float;
Unity_Fraction_float(_Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float);
float _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float;
Unity_Multiply_float_float(_Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float, _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float);
float _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float;
Unity_Saturate_float(_Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4;
Unity_Lerp_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, (_Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float.xxxx), _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4);
float4 _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4;
Unity_Blend_Overlay_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4;
Unity_Branch_float4(_Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean, _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4);
float _Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[0];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[1];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[2];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_A_4_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[3];
float _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float;
Unity_Maximum_float(_Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float, _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float);
float _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float;
Unity_Maximum_float(_Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float, _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float);
float _Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[0];
float _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[1];
float _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[2];
float _Split_d9b6fd95965b407abd03352c64bd95d4_A_4_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[3];
float _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float;
Unity_Maximum_float(_Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float, _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float);
float _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float;
Unity_Maximum_float(_Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float);
float _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float;
Unity_Divide_float(_Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float, _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float);
float _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float;
Unity_Multiply_float_float(_Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float, 0.5, _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float);
float _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float;
Unity_Add_float(_Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float, float(0.5), _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float);
float4 _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4;
Unity_Multiply_float4_float4(_Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4, (_Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float.xxxx), _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4);
float4 _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4;
Unity_Saturate_float4(_Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4);
float4 _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4;
Unity_Branch_float4(_Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4);
float _Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean = Crossfade;
float _Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean = Is_Billboard;
float _Split_8e113e5414194688aa2c165814b6360b_R_1_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[0];
float _Split_8e113e5414194688aa2c165814b6360b_G_2_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[1];
float _Split_8e113e5414194688aa2c165814b6360b_B_3_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[2];
float _Split_8e113e5414194688aa2c165814b6360b_A_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[3];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_R_1_Float = IN.VertexColor[0];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_G_2_Float = IN.VertexColor[1];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_B_3_Float = IN.VertexColor[2];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float = IN.VertexColor[3];
float _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float;
Unity_Multiply_float_float(_Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float);
float _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float;
Unity_Branch_float(_Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float);
float4 _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
float _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float;
LODDitheringTransitionSG_float(IN.WorldSpaceViewDirection, _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float);
float _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float;
Unity_Multiply_float_float(_Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float);
float _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Unity_Branch_float(_Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float);
Modified_Color_1 = (_Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4.xyz);
Modified_Alpha_4 = _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Original_Color_2 = (_SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.xyz);
Original_Alpha_3 = _Split_8e113e5414194688aa2c165814b6360b_A_4_Float;
}
void Unity_Comparison_Less_float(float A, float B, out float Out)
{
Out = A < B ? 1 : 0;
}
void Unity_DotProduct_float3(float3 A, float3 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Not_float(float In, out float Out)
{
Out = !In;
}
void Unity_Or_float(float A, float B, out float Out)
{
Out = A || B;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
struct Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float
{
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpacePosition;
float FaceSign;
half4 uv0;
};
void SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(float Enable_Normal_Map, UnityTexture2D Normal_Map, float3 Interpolated_Tangent_WS, float3 Interpolated_Bitangent_WS, float3 Interpolated_Normal_WS, float4 Backside_Normal_Transform_TS, float Transform_Backside_Normals, Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float IN, out float3 NormalWS_1, out float3 NormalTS_2)
{
float _Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean = Enable_Normal_Map;
UnityTexture2D _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D = Normal_Map;
float4 _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.tex, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.samplerstate, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4);
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.r;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.g;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.b;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_A_7_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.a;
float3 _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3 = float3(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float);
float _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float;
Unity_DotProduct_float3(_Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float);
float _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean;
Unity_Comparison_Equal_float(_DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float, float(0), _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean);
float3 _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3;
Unity_Branch_float3(_Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean, float3(0, 0, 1), _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3);
float _Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean = Transform_Backside_Normals;
float _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean;
Unity_Not_float(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean);
float _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean = max(0, IN.FaceSign.x);
float _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean;
Unity_Or_float(_Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean, _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean, _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean);
float4 _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4 = Backside_Normal_Transform_TS;
float4 _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4;
Unity_Branch_float4(_Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean, float4(1, 1, 1, 1), _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4, _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4);
float3 _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3;
Unity_Multiply_float3_float3(_Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3, (_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3);
float _Split_d262d084d8a24f75a887851e71acd55c_R_1_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[0];
float _Split_d262d084d8a24f75a887851e71acd55c_G_2_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[1];
float _Split_d262d084d8a24f75a887851e71acd55c_B_3_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[2];
float _Split_d262d084d8a24f75a887851e71acd55c_A_4_Float = 0;
float3 _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3 = Interpolated_Tangent_WS;
float3 _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_R_1_Float.xxx), _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3, _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3);
float3 _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3 = Interpolated_Bitangent_WS;
float3 _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_G_2_Float.xxx), _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3);
float3 _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3;
Unity_Add_float3(_Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3, _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3);
float3 _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3 = Interpolated_Normal_WS;
float3 _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_B_3_Float.xxx), _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3);
float3 _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3;
Unity_Add_float3(_Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3);
float3 _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3 = TransformWorldToTangentDir(_Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3.xyz - IN.WorldSpacePosition, tangentTransform, false);
}
float3 _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3;
Unity_Multiply_float3_float3((_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3, _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3);
float3 _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3 = TransformTangentToWorldDir(_Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3.xyz, tangentTransform, false).xyz + IN.WorldSpacePosition;
}
float3 _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3;
Unity_Branch_float3(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3);
float3 _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
Unity_Branch_float3(_Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3, _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3);
float3 _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3 = TransformWorldToTangentDir(_Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3.xyz, tangentTransform, false);
}
NormalWS_1 = _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
NormalTS_2 = _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
}
void Unity_Subtract_float4(float4 A, float4 B, out float4 Out)
{
Out = A - B;
}
void Unity_Normalize_float4(float4 In, out float4 Out)
{
Out = normalize(In);
}
void Unity_DotProduct_float4(float4 A, float4 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Lerp_float(float A, float B, float T, out float Out)
{
Out = lerp(A, B, T);
}
void Unity_Normalize_float3(float3 In, out float3 Out)
{
Out = normalize(In);
}
struct Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float FaceSign;
};
void SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float Vector1_B7478AA2, float3 Vector3_F863C863, float Vector1_2E103E32, float Boolean_1A7045BA, Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float IN, out float Opacity_1, out float3 NormalTangentSpace_2, out float3 NormalWorldSpace_3)
{
float _Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean = Boolean_1A7045BA;
float _IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean = max(0, IN.FaceSign.x);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M0_1_Vector4 = float4(UNITY_MATRIX_M[0].r, UNITY_MATRIX_M[1].r, UNITY_MATRIX_M[2].r, UNITY_MATRIX_M[3].r);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4 = float4(UNITY_MATRIX_M[0].g, UNITY_MATRIX_M[1].g, UNITY_MATRIX_M[2].g, UNITY_MATRIX_M[3].g);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M2_3_Vector4 = float4(UNITY_MATRIX_M[0].b, UNITY_MATRIX_M[1].b, UNITY_MATRIX_M[2].b, UNITY_MATRIX_M[3].b);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4 = float4(UNITY_MATRIX_M[0].a, UNITY_MATRIX_M[1].a, UNITY_MATRIX_M[2].a, UNITY_MATRIX_M[3].a);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M0_1_Vector4 = float4(UNITY_MATRIX_I_V[0].r, UNITY_MATRIX_I_V[1].r, UNITY_MATRIX_I_V[2].r, UNITY_MATRIX_I_V[3].r);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M1_2_Vector4 = float4(UNITY_MATRIX_I_V[0].g, UNITY_MATRIX_I_V[1].g, UNITY_MATRIX_I_V[2].g, UNITY_MATRIX_I_V[3].g);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M2_3_Vector4 = float4(UNITY_MATRIX_I_V[0].b, UNITY_MATRIX_I_V[1].b, UNITY_MATRIX_I_V[2].b, UNITY_MATRIX_I_V[3].b);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4 = float4(UNITY_MATRIX_I_V[0].a, UNITY_MATRIX_I_V[1].a, UNITY_MATRIX_I_V[2].a, UNITY_MATRIX_I_V[3].a);
float4 _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4;
Unity_Subtract_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4, _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4, _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4);
float4 _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4);
float4 _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4;
Unity_Normalize_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4, _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4);
float _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float;
Unity_DotProduct_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float);
float4 _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, (_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float.xxxx), _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4);
float4 _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4;
Unity_Subtract_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4, _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4);
float4 _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4, _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4);
float _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float;
Unity_DotProduct_float3((_Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4.xyz), IN.WorldSpaceNormal, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float);
float _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float);
float _Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float = Vector1_B7478AA2;
float _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float;
Unity_Multiply_float_float(_Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float, 0.0625, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float);
float _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float;
Unity_Subtract_float(_Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float, _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float);
float _Split_dc240df11f72a383b02ff5d20177297b_R_1_Float = IN.ObjectSpaceNormal[0];
float _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float = IN.ObjectSpaceNormal[1];
float _Split_dc240df11f72a383b02ff5d20177297b_B_3_Float = IN.ObjectSpaceNormal[2];
float _Split_dc240df11f72a383b02ff5d20177297b_A_4_Float = 0;
float _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float);
float _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float;
Unity_Multiply_float_float(_Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float);
float _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float;
Unity_Multiply_float_float(_Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float);
float _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float;
Unity_Lerp_float(_Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float, _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float, _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float);
float _Add_facc917224db51879999a44d20c9e100_Out_2_Float;
Unity_Add_float(_Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float, float(0.05), _Add_facc917224db51879999a44d20c9e100_Out_2_Float);
float _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float;
Unity_Saturate_float(_Add_facc917224db51879999a44d20c9e100_Out_2_Float, _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float);
float _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float = Vector1_2E103E32;
float _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float;
Unity_Multiply_float_float(_Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float);
float _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float;
Unity_Branch_float(_IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float, float(0), _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float);
float _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
Unity_Branch_float(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float);
float3 _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3 = Vector3_F863C863;
float _Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[0];
float _Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[1];
float _Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[2];
float _Split_233978cea2bd558992e45bf1b593c9f6_A_4_Float = 0;
float3 _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float.xxx), IN.WorldSpaceTangent, _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3);
float3 _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float.xxx), IN.WorldSpaceBiTangent, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3);
float3 _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3;
Unity_Add_float3(_Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3, _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3);
float4 _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, float4(-0.1, -0.1, -0.1, -1), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4);
float4 _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4;
Unity_Multiply_float4_float4((_Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float.xxxx), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4, _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4);
float3 _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3;
Unity_Add_float3(_Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3, (_Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4.xyz), _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3);
float3 _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3;
Unity_Normalize_float3(_Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3);
float3 _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3 = TransformWorldToTangentDir(_Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3.xyz, tangentTransform, false);
}
float3 _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3, _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3, _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3);
float3 _Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3 = TransformTangentToWorldDir(_Property_867e845d3b5417839226e67526ede381_Out_0_Vector3.xyz, tangentTransform, false).xyz;
}
float3 _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3;
Unity_Normalize_float3(_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3);
float3 _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3, _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3);
Opacity_1 = _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
NormalTangentSpace_2 = _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
NormalWorldSpace_3 = _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float = _BillboardKwToggle;
Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv2 = IN.uv2;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv3 = IN.uv3;
float3 _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3;
SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(IN.ObjectSpacePosition, ((bool) _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float), _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515, _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3);
Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv0 = IN.uv0;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv1 = IN.uv1;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv2 = IN.uv2;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv3 = IN.uv3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3;
SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3);
description.Position = _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
description.TangentWS = IN.WorldSpaceTangent;
description.BitangentWS = IN.WorldSpaceBiTangent;
description.NormalWS = IN.WorldSpaceNormal;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float3 BaseColor;
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
UnityTexture2D _Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_MainTex);
float4 _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4 = _Color;
float _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean = _HueVariationKwToggle;
float4 _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4 = _HueVariationColor;
float _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float = _BillboardKwToggle;
float _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean;
Unity_Comparison_Equal_float(float(1), _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean);
Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.WorldSpaceViewDirection = IN.WorldSpaceViewDirection;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.VertexColor = IN.VertexColor;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.NDCPosition = IN.NDCPosition;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.uv0 = IN.uv0;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float;
SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(_Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D, _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4, _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean, _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4, 0, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, 0, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float);
float _Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean = _NormalMapKwToggle;
UnityTexture2D _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_NormalMap);
float _Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float = Backface_Normal_Mode;
float _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(0.5), _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean);
float4 _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4 = float4(float(-1), float(-1), float(-1), float(1));
float _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(1.5), _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean);
float4 _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4 = float4(float(1), float(1), float(-1), float(1));
float4 _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4 = float4(float(1), float(1), float(1), float(1));
float4 _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4;
Unity_Branch_float4(_Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean, _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4, _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4);
float4 _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4;
Unity_Branch_float4(_Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean, _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4);
Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpacePosition = IN.WorldSpacePosition;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.FaceSign = IN.FaceSign;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.uv0 = IN.uv0;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3;
SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(_Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean, _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D, IN.TangentWS, IN.BitangentWS, IN.NormalWS, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4, 0, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3);
Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.FaceSign = IN.FaceSign;
float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float(8), _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3);
float _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float = _AlphaClipThreshold;
surface.BaseColor = _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
surface.Alpha = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
surface.AlphaClipThreshold = _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float;
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.WorldSpaceTangent = TransformObjectToWorldDir(input.tangentOS.xyz);
output.ObjectSpaceBiTangent = normalize(cross(input.normalOS, input.tangentOS.xyz) * (input.tangentOS.w > 0.0f ? 1.0f : -1.0f) * GetOddNegativeScale());
output.WorldSpaceBiTangent = TransformObjectToWorldDir(output.ObjectSpaceBiTangent);
output.ObjectSpacePosition = input.positionOS;
output.uv0 = input.uv0;
output.uv1 = input.uv1;
output.uv2 = input.uv2;
output.uv3 = input.uv3;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
// must use interpolated tangent, bitangent and normal before they are normalized in the pixel shader.
float3 unnormalizedNormalWS = input.normalWS;
const float renormFactor = 1.0 / length(unnormalizedNormalWS);
// use bitangent on the fly like in hdrp
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped.
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0)* GetOddNegativeScale();
float3 bitang = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz);
output.WorldSpaceNormal = renormFactor * input.normalWS.xyz; // we want a unit length Normal Vector node in shader graph
output.ObjectSpaceNormal = normalize(mul(output.WorldSpaceNormal, (float3x3) UNITY_MATRIX_M)); // transposed multiplication by inverse matrix to handle normal scale
// to pr eserve mikktspace compliance we use same scale renormFactor as was used on the normal.
// This is explained in section 2.2 in "surface gradient based bump mapping framework"
output.WorldSpaceTangent = renormFactor * input.tangentWS.xyz;
output.WorldSpaceBiTangent = renormFactor * bitang;
output.WorldSpaceViewDirection = GetWorldSpaceNormalizeViewDir(input.positionWS);
output.WorldSpacePosition = input.positionWS;
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/SelectionPickingPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
<Packages/com.unity.render-pipelines.universal/Shaders/NatureSpeedTree9_URP.shadergraph<00><><EFBFBD><EFBFBD><00>%<00><>N9L<1E><EFBFBD><7F><EFBFBD>I<EFBFBD>0<EFBFBD>y@_ _WIND_SHIMMER_ _WIND_BRANCH1_ _WIND_BRANCH2_ _WIND_SHARED_ _WIND_RIPPLE_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER_DOTS_INSTANCING_ON_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER_DOTS_INSTANCING_ON&_FOVEATED_RENDERING_NON_UNIFORM_RASTER DOTS_INSTANCING_ON<00><> SHADOWS_SOFT<46>DIRLIGHTMAP_COMBINED<45>DYNAMICLIGHTMAP_ON<00>SHADOWS_SCREEN<00> INSTANCING_ONPROCEDURAL_INSTANCING_ON@STEREO_MULTIVIEW_ON<00>STEREO_INSTANCING_ON<4F>"UNITY_DEVICE_SUPPORTS_NATIVE_16BIT (UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACING9_FOVEATED_RENDERING_NON_UNIFORM_RASTER DOTS_INSTANCING_ONO<> <00>#if defined(SHADER_STAGE_VERTEX)
#define _WIND_SHIMMER_KEYWORD_DECLARED 1
#define _WIND_BRANCH1_KEYWORD_DECLARED 1
#define _WIND_BRANCH2_KEYWORD_DECLARED 1
#define _WIND_SHARED_KEYWORD_DECLARED 1
#define _WIND_RIPPLE_KEYWORD_DECLARED 1
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#endif
#if defined(SHADER_STAGE_FRAGMENT)
#define _FOVEATED_RENDERING_NON_UNIFORM_RASTER_KEYWORD_DECLARED 1
#endif
cbuffer UnityDynamicKeywords {
int _FOVEATED_RENDERING_NON_UNIFORM_RASTER;
};
#line 10737 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
#define UNITY_INSTANCED_LOD_FADE
#define UNITY_INSTANCED_SH
#define UNITY_INSTANCED_LIGHTMAPSTS
#define UNITY_INSTANCED_RENDERER_BOUNDS
#line 10737 ""
#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING
#endif
/* UNITY: Original start of shader */
// Pragmas
#pragma target 2.0
#pragma vertex vert
#pragma fragment frag
// Keywords
// PassKeywords: <None>
#pragma shader_feature_vertex _ _WIND_SHIMMER
#pragma shader_feature_vertex _ _WIND_BRANCH1
#pragma shader_feature_vertex _ _WIND_BRANCH2
#pragma shader_feature_vertex _ _WIND_SHARED
#pragma shader_feature_vertex _ _WIND_RIPPLE
#if defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_0
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_1
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_2
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_3
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_4
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_5
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_6
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_7
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_8
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_9
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_10
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_11
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_12
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_13
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_14
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_15
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_16
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_17
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_18
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_19
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_20
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_21
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_22
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_23
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_24
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_25
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_26
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_27
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_28
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_29
#elif defined(LOD_FADE_CROSSFADE) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_30
#elif defined(LOD_FADE_CROSSFADE)
#define KEYWORD_PERMUTATION_31
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_32
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_33
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_34
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_35
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_36
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_37
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_38
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_39
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_40
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_41
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_42
#elif defined(_WIND_SHIMMER) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_43
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_44
#elif defined(_WIND_SHIMMER) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_45
#elif defined(_WIND_SHIMMER) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_46
#elif defined(_WIND_SHIMMER)
#define KEYWORD_PERMUTATION_47
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_48
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_49
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_50
#elif defined(_WIND_BRANCH1) && defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_51
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_52
#elif defined(_WIND_BRANCH1) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_53
#elif defined(_WIND_BRANCH1) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_54
#elif defined(_WIND_BRANCH1)
#define KEYWORD_PERMUTATION_55
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_56
#elif defined(_WIND_BRANCH2) && defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_57
#elif defined(_WIND_BRANCH2) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_58
#elif defined(_WIND_BRANCH2)
#define KEYWORD_PERMUTATION_59
#elif defined(_WIND_SHARED) && defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_60
#elif defined(_WIND_SHARED)
#define KEYWORD_PERMUTATION_61
#elif defined(_WIND_RIPPLE)
#define KEYWORD_PERMUTATION_62
#else
#define KEYWORD_PERMUTATION_63
#endif
// Defines
#define _NORMALMAP 1
#define _NORMAL_DROPOFF_WS 1
#define ATTRIBUTES_NEED_NORMAL
#define ATTRIBUTES_NEED_TANGENT
#define ATTRIBUTES_NEED_TEXCOORD0
#define ATTRIBUTES_NEED_TEXCOORD1
#define ATTRIBUTES_NEED_TEXCOORD2
#define ATTRIBUTES_NEED_TEXCOORD3
#define ATTRIBUTES_NEED_COLOR
#define FEATURES_GRAPH_VERTEX_NORMAL_OUTPUT
#define FEATURES_GRAPH_VERTEX_TANGENT_OUTPUT
#define VARYINGS_NEED_POSITION_WS
#define VARYINGS_NEED_NORMAL_WS
#define VARYINGS_NEED_TANGENT_WS
#define VARYINGS_NEED_TEXCOORD0
#define VARYINGS_NEED_COLOR
#define VARYINGS_NEED_CULLFACE
#define FEATURES_GRAPH_VERTEX
/* WARNING: $splice Could not find named fragment 'PassInstancing' */
#define SHADERPASS SHADERPASS_2D
#define _ALPHATEST_ON 1
// custom interpolator pre-include
/* WARNING: $splice Could not find named fragment 'sgci_CustomInterpolatorPreInclude' */
// Includes
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
// --------------------------------------------------
// Structs and Packing
// custom interpolators pre packing
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPrePacking' */
struct Attributes
{
float3 positionOS : POSITION;
float3 normalOS : NORMAL;
float4 tangentOS : TANGENT;
float4 uv0 : TEXCOORD0;
float4 uv1 : TEXCOORD1;
float4 uv2 : TEXCOORD2;
float4 uv3 : TEXCOORD3;
float4 color : COLOR;
#if UNITY_ANY_INSTANCING_ENABLED || defined(ATTRIBUTES_NEED_INSTANCEID)
uint instanceID : INSTANCEID_SEMANTIC;
#endif
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float3 positionWS;
float3 normalWS;
float4 tangentWS;
float4 texCoord0;
float4 color;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct SurfaceDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpaceViewDirection;
float3 WorldSpacePosition;
float2 NDCPosition;
float2 PixelPosition;
float4 uv0;
float4 VertexColor;
float FaceSign;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
struct VertexDescriptionInputs
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 ObjectSpaceTangent;
float3 WorldSpaceTangent;
float3 ObjectSpaceBiTangent;
float3 WorldSpaceBiTangent;
float3 ObjectSpacePosition;
float4 uv0;
float4 uv1;
float4 uv2;
float4 uv3;
};
struct PackedVaryings
{
float4 positionCS : SV_POSITION;
float4 tangentWS : INTERP0;
float4 texCoord0 : INTERP1;
float4 color : INTERP2;
float4 packed_positionWS_NormalWSx : INTERP3;
float4 packed_normalWS_NormalWSy : INTERP4;
float4 packed_TangentWS_NormalWSz : INTERP5;
float3 BitangentWS : INTERP6;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
uint instanceID : CUSTOM_INSTANCE_ID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
uint stereoTargetEyeIndexAsBlendIdx0 : BLENDINDICES0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
uint stereoTargetEyeIndexAsRTArrayIdx : SV_RenderTargetArrayIndex;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
FRONT_FACE_TYPE cullFace : FRONT_FACE_SEMANTIC;
#endif
};
PackedVaryings PackVaryings (Varyings input)
{
PackedVaryings output;
ZERO_INITIALIZE(PackedVaryings, output);
output.positionCS = input.positionCS;
output.tangentWS.xyzw = input.tangentWS;
output.texCoord0.xyzw = input.texCoord0;
output.color.xyzw = input.color;
output.packed_positionWS_NormalWSx.xyz = input.positionWS;
output.packed_positionWS_NormalWSx.w = input.NormalWS.x;
output.packed_normalWS_NormalWSy.xyz = input.normalWS;
output.packed_normalWS_NormalWSy.w = input.NormalWS.y;
output.packed_TangentWS_NormalWSz.xyz = input.TangentWS;
output.packed_TangentWS_NormalWSz.w = input.NormalWS.z;
output.BitangentWS.xyz = input.BitangentWS;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
Varyings UnpackVaryings (PackedVaryings input)
{
Varyings output;
output.positionCS = input.positionCS;
output.tangentWS = input.tangentWS.xyzw;
output.texCoord0 = input.texCoord0.xyzw;
output.color = input.color.xyzw;
output.positionWS = input.packed_positionWS_NormalWSx.xyz;
output.NormalWS.x = input.packed_positionWS_NormalWSx.w;
output.normalWS = input.packed_normalWS_NormalWSy.xyz;
output.NormalWS.y = input.packed_normalWS_NormalWSy.w;
output.TangentWS = input.packed_TangentWS_NormalWSz.xyz;
output.NormalWS.z = input.packed_TangentWS_NormalWSz.w;
output.BitangentWS = input.BitangentWS.xyz;
#if UNITY_ANY_INSTANCING_ENABLED || defined(VARYINGS_NEED_INSTANCEID)
output.instanceID = input.instanceID;
#endif
#if (defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || (defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))
output.stereoTargetEyeIndexAsBlendIdx0 = input.stereoTargetEyeIndexAsBlendIdx0;
#endif
#if (defined(UNITY_STEREO_INSTANCING_ENABLED))
output.stereoTargetEyeIndexAsRTArrayIdx = input.stereoTargetEyeIndexAsRTArrayIdx;
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
output.cullFace = input.cullFace;
#endif
return output;
}
// --------------------------------------------------
// Graph
// Graph Properties
CBUFFER_START(UnityPerMaterial)
float4 _MainTex_TexelSize;
float4 _Color;
float _HueVariationKwToggle;
float4 _HueVariationColor;
float _NormalMapKwToggle;
float4 _NormalMap_TexelSize;
float EFFECT_EXTRA_TEX;
float4 _ExtraTex_TexelSize;
float _Glossiness;
float _Metallic;
float _SubsurfaceKwToggle;
float _SubsurfaceIndirect;
float4 _SubsurfaceColor;
float4 _SubsurfaceTex_TexelSize;
float _AlphaClipThreshold;
float Backface_Normal_Mode;
float _BillboardKwToggle;
UNITY_TEXTURE_STREAMING_DEBUG_VARS;
CBUFFER_END
// Object and Global properties
SAMPLER(SamplerState_Linear_Repeat);
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
TEXTURE2D(_NormalMap);
SAMPLER(sampler_NormalMap);
TEXTURE2D(_ExtraTex);
SAMPLER(sampler_ExtraTex);
TEXTURE2D(_SubsurfaceTex);
SAMPLER(sampler_SubsurfaceTex);
// Graph Includes
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTreeCommon.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/Nature/SpeedTree9Wind.hlsl"
#include_with_pragmas "Packages/com.unity.shadergraph/ShaderGraphLibrary/LODDitheringTransition.hlsl"
// -- Property used by ScenePickingPass
#ifdef SCENEPICKINGPASS
float4 _SelectionID;
#endif
// -- Properties used by SceneSelectionPass
#ifdef SCENESELECTIONPASS
int _ObjectId;
int _PassValue;
#endif
// Graph Functions
void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float
{
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(float3 Vector3_DF61F3B, float _IsBillboard, Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float IN, out float3 ObjectSpacePositionOut_1)
{
float _Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean = _IsBillboard;
float3 _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3 = Vector3_DF61F3B;
float4 _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4 = IN.uv2;
float4 _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3;
SpeedTree9LeafFacing_float(_Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _UV_fe2a3c68665e44c1a68cb56972054411_Out_0_Vector4, _UV_c43251a50a5947879de8aba4500e9614_Out_0_Vector4, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3);
float3 _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
Unity_Branch_float3(_Property_055ab909694b4e8bbe0b2cfd584a4fd0_Out_0_Boolean, _Property_b3fadcf6ec584e5facf413fb91de479b_Out_0_Vector3, _SpeedTree9LeafFacingCustomFunction_dd2f62e9497e449783da8a10acb800f0_LeafFacingVertexPosition_2_Vector3, _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3);
ObjectSpacePositionOut_1 = _Branch_c5401ca55ff7479a943cd8e195cce606_Out_3_Vector3;
}
void Unity_Subtract_float3(float3 A, float3 B, out float3 Out)
{
Out = A - B;
}
struct Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float
{
float3 ObjectSpaceNormal;
half4 uv0;
half4 uv1;
half4 uv2;
half4 uv3;
};
void SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(float3 _ObjectSpaceVertexPosition, Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float IN, out float3 AnimatedVertexObjectSpacePosition_1, out float3 ObjectSpaceMotionVector_2)
{
float3 _Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3 = _ObjectSpaceVertexPosition;
float4 _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4 = IN.uv0;
float4 _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4 = IN.uv1;
float4 _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4 = IN.uv2;
float4 _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4 = IN.uv3;
float3 _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 0, _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3);
float3 _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3;
SpeedTree9Wind_float(_Property_f6098b0c139f47a694589be018f29179_Out_0_Vector3, IN.ObjectSpaceNormal, _UV_9586e5a1d6fb6382907ce7dd6245e18a_Out_0_Vector4, _UV_ccafab26e74d6e84b38b1ba76ec10590_Out_0_Vector4, _UV_0e834b0ecae37b80815c131f5e4576fb_Out_0_Vector4, _UV_64599243973fef8391cbf70583bd5624_Out_0_Vector4, 1, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3);
float3 _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
Unity_Subtract_float3(_SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3, _SpeedTree9WindCustomFunction_3c6fbb708a5843738c0d7fd3cdeec586_newPosition_4_Vector3, _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3);
AnimatedVertexObjectSpacePosition_1 = _SpeedTree9WindCustomFunction_ff981d3a37444f6c8bc31d806b417d18_newPosition_4_Vector3;
ObjectSpaceMotionVector_2 = _Subtract_3615242e0bc048758232c40d75977291_Out_2_Vector3;
}
void Unity_Comparison_Equal_float(float A, float B, out float Out)
{
Out = A == B ? 1 : 0;
}
void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
{
Out = A * B;
}
void Unity_Add_float(float A, float B, out float Out)
{
Out = A + B;
}
void Unity_Fraction_float(float In, out float Out)
{
Out = frac(In);
}
void Unity_Multiply_float_float(float A, float B, out float Out)
{
Out = A * B;
}
void Unity_Saturate_float(float In, out float Out)
{
Out = saturate(In);
}
void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
{
Out = lerp(A, B, T);
}
void Unity_Blend_Overlay_float4(float4 Base, float4 Blend, out float4 Out, float Opacity)
{
float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend);
float4 result2 = 2.0 * Base * Blend;
float4 zeroOrOne = step(Base, 0.5);
Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1;
Out = lerp(Base, Out, Opacity);
}
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
{
Out = Predicate ? True : False;
}
void Unity_Maximum_float(float A, float B, out float Out)
{
Out = max(A, B);
}
void Unity_Divide_float(float A, float B, out float Out)
{
Out = A / B;
}
void Unity_Saturate_float4(float4 In, out float4 Out)
{
Out = saturate(In);
}
void Unity_Branch_float(float Predicate, float True, float False, out float Out)
{
Out = Predicate ? True : False;
}
struct Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float
{
float3 WorldSpaceViewDirection;
float4 VertexColor;
float2 NDCPosition;
half4 uv0;
};
void SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(UnityTexture2D Base_Map, float4 Color_Tint, float Enable_Hue_Variation, float4 Hue_Variation_Color, float Use_Old_Hue_Variation_Behavior, float Is_Billboard, float Crossfade, Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float IN, out float3 Modified_Color_1, out float Modified_Alpha_4, out float3 Original_Color_2, out float Original_Alpha_3)
{
float _Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean = Enable_Hue_Variation;
float _Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean = Use_Old_Hue_Variation_Behavior;
float4 _Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4 = Color_Tint;
UnityTexture2D _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D = Base_Map;
float4 _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.tex, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.samplerstate, _Property_9739be6f931c48a2ab08fb60abd88eac_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_R_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.r;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_G_5_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.g;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_B_6_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.b;
float _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_A_7_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.a;
float4 _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4;
Unity_Multiply_float4_float4(_Property_3447ed3cbe7e4c0ca03d34219340dbda_Out_0_Vector4, _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4);
float4 _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4 = Hue_Variation_Color;
float _Split_1e71fee3241d42eea8e7ee1371975d5c_R_1_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[0];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_G_2_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[1];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_B_3_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[2];
float _Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float = _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4[3];
float3 _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3;
{
// Converting Position from Object to AbsoluteWorld via world space
float3 world;
world = TransformObjectToWorld(float3 (0, 0, 0).xyz);
_Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3 = GetAbsolutePositionWS(world);
}
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[0];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[1];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float = _Transform_16910a20060c43f889cace1d074fd2ca_Out_1_Vector3[2];
float _Split_afb69a2ae3904da0b6b18f0a8fed3415_A_4_Float = 0;
float _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float;
Unity_Add_float(_Split_afb69a2ae3904da0b6b18f0a8fed3415_R_1_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_G_2_Float, _Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float);
float _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float;
Unity_Add_float(_Add_0bc75546351b442e9e40b2e2e104d829_Out_2_Float, _Split_afb69a2ae3904da0b6b18f0a8fed3415_B_3_Float, _Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float);
float _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float;
Unity_Fraction_float(_Add_de0b04c2427447f38fb590f8c1b2d313_Out_2_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float);
float _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float;
Unity_Multiply_float_float(_Split_1e71fee3241d42eea8e7ee1371975d5c_A_4_Float, _Fraction_740ba08223a24b0d9fcea47fcbe15b39_Out_1_Float, _Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float);
float _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float;
Unity_Saturate_float(_Multiply_7316ba902de94fdca1789a790def91ff_Out_2_Float, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4;
Unity_Lerp_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, (_Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float.xxxx), _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4);
float4 _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4;
Unity_Blend_Overlay_float4(_Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Property_44dfa3cd977d45adb4d44efa3fae33be_Out_0_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Saturate_2692c4746b544ace91301f7dc416c003_Out_1_Float);
float4 _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4;
Unity_Branch_float4(_Property_80c510042dc848db99c93f2d10c93a45_Out_0_Boolean, _Lerp_3f3e8e2911e4473b9baaded23518dc75_Out_3_Vector4, _Blend_de4f34f2bb7a46769d53aa730fdbebda_Out_2_Vector4, _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4);
float _Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[0];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[1];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[2];
float _Split_8b255101be0e4c0686ecfb357b4e08c6_A_4_Float = _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4[3];
float _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float;
Unity_Maximum_float(_Split_8b255101be0e4c0686ecfb357b4e08c6_R_1_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_G_2_Float, _Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float);
float _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float;
Unity_Maximum_float(_Maximum_172119ade14f4f779d4ae5d9d20db683_Out_2_Float, _Split_8b255101be0e4c0686ecfb357b4e08c6_B_3_Float, _Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float);
float _Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[0];
float _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[1];
float _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[2];
float _Split_d9b6fd95965b407abd03352c64bd95d4_A_4_Float = _Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4[3];
float _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float;
Unity_Maximum_float(_Split_d9b6fd95965b407abd03352c64bd95d4_R_1_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_G_2_Float, _Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float);
float _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float;
Unity_Maximum_float(_Maximum_e25c31be13314b87ae27a198895b64a2_Out_2_Float, _Split_d9b6fd95965b407abd03352c64bd95d4_B_3_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float);
float _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float;
Unity_Divide_float(_Maximum_c521d868294841f4b71b21734f9cf047_Out_2_Float, _Maximum_4315d9c44c34415fbb4d00a6c0e720f6_Out_2_Float, _Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float);
float _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float;
Unity_Multiply_float_float(_Divide_e673cbf0a11048c092ecf1e1fbc09be8_Out_2_Float, 0.5, _Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float);
float _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float;
Unity_Add_float(_Multiply_8b827c41892549ebb55b1a4907a92bf2_Out_2_Float, float(0.5), _Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float);
float4 _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4;
Unity_Multiply_float4_float4(_Branch_eea3f9e8c5df4bf79dc691911a8e7d45_Out_3_Vector4, (_Add_b86fceb0db8d4af9bc21dfe417af2843_Out_2_Float.xxxx), _Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4);
float4 _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4;
Unity_Saturate_float4(_Multiply_4bb9f6177dff47bbb3c65a7fc5da20af_Out_2_Vector4, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4);
float4 _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4;
Unity_Branch_float4(_Property_4ec1fadc986743f2b9b3be9ad07b5c23_Out_0_Boolean, _Saturate_4ebc8100309e4882b91c688956b0477c_Out_1_Vector4, _Multiply_37087b60e9d043069303dd34abafccdd_Out_2_Vector4, _Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4);
float _Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean = Crossfade;
float _Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean = Is_Billboard;
float _Split_8e113e5414194688aa2c165814b6360b_R_1_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[0];
float _Split_8e113e5414194688aa2c165814b6360b_G_2_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[1];
float _Split_8e113e5414194688aa2c165814b6360b_B_3_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[2];
float _Split_8e113e5414194688aa2c165814b6360b_A_4_Float = _SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4[3];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_R_1_Float = IN.VertexColor[0];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_G_2_Float = IN.VertexColor[1];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_B_3_Float = IN.VertexColor[2];
float _Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float = IN.VertexColor[3];
float _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float;
Unity_Multiply_float_float(_Split_d5fe6b04dd9747b6a9e6d27930d2ffcb_A_4_Float, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float);
float _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float;
Unity_Branch_float(_Property_321d0864f8e24c789d8ead6ed475e3c3_Out_0_Boolean, _Split_8e113e5414194688aa2c165814b6360b_A_4_Float, _Multiply_e8c48c2857c946f78c6f01261fe2553c_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float);
float4 _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4 = float4(IN.NDCPosition.xy, 0, 0);
float _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float;
LODDitheringTransitionSG_float(IN.WorldSpaceViewDirection, _ScreenPosition_23cc09dad8e948a6b2c20b60e8ebb8e3_Out_0_Vector4, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float);
float _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float;
Unity_Multiply_float_float(_Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _LODDitheringTransitionSGCustomFunction_6837a7eb54884986933856bdbf84238d_multiplyAlpha_0_Float, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float);
float _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Unity_Branch_float(_Property_c660a337893a4106a47253f4fdaa173d_Out_0_Boolean, _Multiply_07757bf1a334469cb891cd448c68d81a_Out_2_Float, _Branch_5bd4b0e2a77b4a918e51059017f603e4_Out_3_Float, _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float);
Modified_Color_1 = (_Branch_38536d5bf09446bc9e20abbd05f134e7_Out_3_Vector4.xyz);
Modified_Alpha_4 = _Branch_88ac64f4ac3b4739937bd51278da2174_Out_3_Float;
Original_Color_2 = (_SampleTexture2D_f0368572efa94c5ebedc97b7f89e54d4_RGBA_0_Vector4.xyz);
Original_Alpha_3 = _Split_8e113e5414194688aa2c165814b6360b_A_4_Float;
}
void Unity_Comparison_Less_float(float A, float B, out float Out)
{
Out = A < B ? 1 : 0;
}
void Unity_DotProduct_float3(float3 A, float3 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Not_float(float In, out float Out)
{
Out = !In;
}
void Unity_Or_float(float A, float B, out float Out)
{
Out = A || B;
}
void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
{
Out = A * B;
}
void Unity_Add_float3(float3 A, float3 B, out float3 Out)
{
Out = A + B;
}
struct Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float
{
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float3 WorldSpacePosition;
float FaceSign;
half4 uv0;
};
void SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(float Enable_Normal_Map, UnityTexture2D Normal_Map, float3 Interpolated_Tangent_WS, float3 Interpolated_Bitangent_WS, float3 Interpolated_Normal_WS, float4 Backside_Normal_Transform_TS, float Transform_Backside_Normals, Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float IN, out float3 NormalWS_1, out float3 NormalTS_2)
{
float _Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean = Enable_Normal_Map;
UnityTexture2D _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D = Normal_Map;
float4 _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.tex, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.samplerstate, _Property_fbdf75d73fab4ab19d741189db36eefb_Out_0_Texture2D.GetTransformedUV(IN.uv0.xy) );
_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4);
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.r;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.g;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.b;
float _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_A_7_Float = _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_RGBA_0_Vector4.a;
float3 _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3 = float3(_SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_R_4_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_G_5_Float, _SampleTexture2D_7b4a6ad1f8f0484ab1a0fa456cce6f1c_B_6_Float);
float _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float;
Unity_DotProduct_float3(_Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float);
float _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean;
Unity_Comparison_Equal_float(_DotProduct_940efe1fbe1c4282b6ef117cac6dae02_Out_2_Float, float(0), _Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean);
float3 _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3;
Unity_Branch_float3(_Comparison_333d81460a3445b88019a0a6aa388a7e_Out_2_Boolean, float3(0, 0, 1), _Vector3_a3a614da9af04ec39f1170d7b782558e_Out_0_Vector3, _Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3);
float _Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean = Transform_Backside_Normals;
float _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean;
Unity_Not_float(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean);
float _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean = max(0, IN.FaceSign.x);
float _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean;
Unity_Or_float(_Not_e84e7d137aa743dcb781370c69e25974_Out_1_Boolean, _IsFrontFace_dd03de9776a64dfdb64ef4ac2f305ae3_Out_0_Boolean, _Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean);
float4 _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4 = Backside_Normal_Transform_TS;
float4 _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4;
Unity_Branch_float4(_Or_8eb024ae76714797af7b79d1cca40050_Out_2_Boolean, float4(1, 1, 1, 1), _Property_f36e6c8eb7034a9ea61c2e81ad7cde3b_Out_0_Vector4, _Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4);
float3 _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3;
Unity_Multiply_float3_float3(_Branch_a6957c55b3b54f4d9e52907f1ec73825_Out_3_Vector3, (_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3);
float _Split_d262d084d8a24f75a887851e71acd55c_R_1_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[0];
float _Split_d262d084d8a24f75a887851e71acd55c_G_2_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[1];
float _Split_d262d084d8a24f75a887851e71acd55c_B_3_Float = _Multiply_cafe4baf3a264c5f8cf3d57e6b8d567e_Out_2_Vector3[2];
float _Split_d262d084d8a24f75a887851e71acd55c_A_4_Float = 0;
float3 _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3 = Interpolated_Tangent_WS;
float3 _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_R_1_Float.xxx), _Property_e209602fb20c4e6fb5e48428506a55c8_Out_0_Vector3, _Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3);
float3 _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3 = Interpolated_Bitangent_WS;
float3 _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_G_2_Float.xxx), _Property_dfd3caf7bc364c75b883f5ae2931ba9c_Out_0_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3);
float3 _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3;
Unity_Add_float3(_Multiply_025880703d8641548199db0fbf89c334_Out_2_Vector3, _Multiply_ee7cba1ca7b14dd8a840edaa0eaa988a_Out_2_Vector3, _Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3);
float3 _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3 = Interpolated_Normal_WS;
float3 _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_d262d084d8a24f75a887851e71acd55c_B_3_Float.xxx), _Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3);
float3 _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3;
Unity_Add_float3(_Add_1f0bd77dcc3845f694b4d6da8e4290a3_Out_2_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3);
float3 _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3 = TransformWorldToTangentDir(_Property_f23ce603413944bf9c093c0e930630c4_Out_0_Vector3.xyz - IN.WorldSpacePosition, tangentTransform, false);
}
float3 _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3;
Unity_Multiply_float3_float3((_Branch_54a3c1c6f0844592892b32f554e5ee8d_Out_3_Vector4.xyz), _Transform_6d8ec6000434465581f96711a08f7b9a_Out_1_Vector3, _Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3);
float3 _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3 = TransformTangentToWorldDir(_Multiply_0f4038e8d88c497a9848d40cea1db0a8_Out_2_Vector3.xyz, tangentTransform, false).xyz + IN.WorldSpacePosition;
}
float3 _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3;
Unity_Branch_float3(_Property_3aa3f350a9d14244a22ec09fbc3190d2_Out_0_Boolean, _Transform_8daf08c14e6f406abaafb4a5f390b4a3_Out_1_Vector3, _Multiply_4b7bc34646b04cb7807c181ddfe5eac9_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3);
float3 _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
Unity_Branch_float3(_Property_29c30d95951e4d9a9741deb69d673713_Out_0_Boolean, _Add_a78b467401cb4f2c90ea5876534cb2eb_Out_2_Vector3, _Branch_554037657d664172aaa8465f199bbeb1_Out_3_Vector3, _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3);
float3 _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3 = TransformWorldToTangentDir(_Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3.xyz, tangentTransform, false);
}
NormalWS_1 = _Branch_ad59d8af04f34879a7db1f47ac21d918_Out_3_Vector3;
NormalTS_2 = _Transform_2c7b5b9152be452e9b7e932fe1aac767_Out_1_Vector3;
}
void Unity_Subtract_float4(float4 A, float4 B, out float4 Out)
{
Out = A - B;
}
void Unity_Normalize_float4(float4 In, out float4 Out)
{
Out = normalize(In);
}
void Unity_DotProduct_float4(float4 A, float4 B, out float Out)
{
Out = dot(A, B);
}
void Unity_Subtract_float(float A, float B, out float Out)
{
Out = A - B;
}
void Unity_Lerp_float(float A, float B, float T, out float Out)
{
Out = lerp(A, B, T);
}
void Unity_Normalize_float3(float3 In, out float3 Out)
{
Out = normalize(In);
}
struct Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float
{
float3 ObjectSpaceNormal;
float3 WorldSpaceNormal;
float3 WorldSpaceTangent;
float3 WorldSpaceBiTangent;
float FaceSign;
};
void SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float Vector1_B7478AA2, float3 Vector3_F863C863, float Vector1_2E103E32, float Boolean_1A7045BA, Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float IN, out float Opacity_1, out float3 NormalTangentSpace_2, out float3 NormalWorldSpace_3)
{
float _Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean = Boolean_1A7045BA;
float _IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean = max(0, IN.FaceSign.x);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M0_1_Vector4 = float4(UNITY_MATRIX_M[0].r, UNITY_MATRIX_M[1].r, UNITY_MATRIX_M[2].r, UNITY_MATRIX_M[3].r);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4 = float4(UNITY_MATRIX_M[0].g, UNITY_MATRIX_M[1].g, UNITY_MATRIX_M[2].g, UNITY_MATRIX_M[3].g);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M2_3_Vector4 = float4(UNITY_MATRIX_M[0].b, UNITY_MATRIX_M[1].b, UNITY_MATRIX_M[2].b, UNITY_MATRIX_M[3].b);
float4 _MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4 = float4(UNITY_MATRIX_M[0].a, UNITY_MATRIX_M[1].a, UNITY_MATRIX_M[2].a, UNITY_MATRIX_M[3].a);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M0_1_Vector4 = float4(UNITY_MATRIX_I_V[0].r, UNITY_MATRIX_I_V[1].r, UNITY_MATRIX_I_V[2].r, UNITY_MATRIX_I_V[3].r);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M1_2_Vector4 = float4(UNITY_MATRIX_I_V[0].g, UNITY_MATRIX_I_V[1].g, UNITY_MATRIX_I_V[2].g, UNITY_MATRIX_I_V[3].g);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M2_3_Vector4 = float4(UNITY_MATRIX_I_V[0].b, UNITY_MATRIX_I_V[1].b, UNITY_MATRIX_I_V[2].b, UNITY_MATRIX_I_V[3].b);
float4 _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4 = float4(UNITY_MATRIX_I_V[0].a, UNITY_MATRIX_I_V[1].a, UNITY_MATRIX_I_V[2].a, UNITY_MATRIX_I_V[3].a);
float4 _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4;
Unity_Subtract_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M3_4_Vector4, _MatrixSplit_b5ca2b6820cdfd88a8b5b10ba4800a5d_M3_4_Vector4, _Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4);
float4 _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_67a925d79578ce8590cf7f7b77108ac0_Out_2_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4);
float4 _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4;
Unity_Normalize_float4(_MatrixSplit_95c7f4ab32b7cc8d89b7189865e59607_M1_2_Vector4, _Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4);
float _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float;
Unity_DotProduct_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, _Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float);
float4 _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_4a5b184b2306478e828043b7f9812776_Out_1_Vector4, (_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float.xxxx), _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4);
float4 _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4;
Unity_Subtract_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, _Multiply_4a2d92fc54bc9b8a982f507f917ebe40_Out_2_Vector4, _Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4);
float4 _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4;
Unity_Normalize_float4(_Subtract_3d078cab7011858dac9c9fe195b7cb5d_Out_2_Vector4, _Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4);
float _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float;
Unity_DotProduct_float3((_Normalize_f7abcf79af5ff786abc573767d618257_Out_1_Vector4.xyz), IN.WorldSpaceNormal, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float);
float _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _DotProduct_7c678a8fda53b788be93aba8643749c9_Out_2_Float, _Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float);
float _Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float = Vector1_B7478AA2;
float _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float;
Unity_Multiply_float_float(_Property_ddc55060fabbba869d0b4b4c35dc2494_Out_0_Float, 0.0625, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float);
float _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float;
Unity_Subtract_float(_Multiply_c45cc1b14f86ee8790229fdf0f6fcb9f_Out_2_Float, _Multiply_e54d0b2fea4c3f80ad2d9ba0f851f8df_Out_2_Float, _Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float);
float _Split_dc240df11f72a383b02ff5d20177297b_R_1_Float = IN.ObjectSpaceNormal[0];
float _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float = IN.ObjectSpaceNormal[1];
float _Split_dc240df11f72a383b02ff5d20177297b_B_3_Float = IN.ObjectSpaceNormal[2];
float _Split_dc240df11f72a383b02ff5d20177297b_A_4_Float = 0;
float _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float;
Unity_Multiply_float_float(_DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _DotProduct_96c37779ec605f87934e893b7e7257e1_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float);
float _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float;
Unity_Multiply_float_float(_Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_ecb14e669f2fb387ab8e42809dc7ba94_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float);
float _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float;
Unity_Multiply_float_float(_Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_4286e2b453a91a8c9a14f6a3f6251ebf_Out_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float);
float _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float;
Unity_Lerp_float(_Subtract_f46345177c8dad87be0692ca59fa318b_Out_2_Float, _Split_dc240df11f72a383b02ff5d20177297b_G_2_Float, _Multiply_7fead86f9c9e9f85b863feb74a533bd0_Out_2_Float, _Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float);
float _Add_facc917224db51879999a44d20c9e100_Out_2_Float;
Unity_Add_float(_Lerp_bce4d28c74de4a80acb24d83ed41dc4e_Out_3_Float, float(0.05), _Add_facc917224db51879999a44d20c9e100_Out_2_Float);
float _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float;
Unity_Saturate_float(_Add_facc917224db51879999a44d20c9e100_Out_2_Float, _Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float);
float _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float = Vector1_2E103E32;
float _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float;
Unity_Multiply_float_float(_Saturate_a0518b5e10acfb899da41b59dce8ea65_Out_1_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float);
float _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float;
Unity_Branch_float(_IsFrontFace_583b4a2805ca49aaa3bae43b578b7c1c_Out_0_Boolean, _Multiply_331b16e954bf0581b010707e674b8b89_Out_2_Float, float(0), _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float);
float _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
Unity_Branch_float(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Branch_05b32228d67049288f0fb240f92ffe97_Out_3_Float, _Property_bed41e99c0d25d8d80a011cfb9f77cb2_Out_0_Float, _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float);
float3 _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3 = Vector3_F863C863;
float _Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[0];
float _Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[1];
float _Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float = _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3[2];
float _Split_233978cea2bd558992e45bf1b593c9f6_A_4_Float = 0;
float3 _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_R_1_Float.xxx), IN.WorldSpaceTangent, _Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3);
float3 _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3;
Unity_Multiply_float3_float3((_Split_233978cea2bd558992e45bf1b593c9f6_G_2_Float.xxx), IN.WorldSpaceBiTangent, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3);
float3 _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3;
Unity_Add_float3(_Multiply_d7ee41bacbb8ee8aa78031fd9f647d58_Out_2_Vector3, _Multiply_7abe0b7030aca58baee7e200f6eb20ef_Out_2_Vector3, _Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3);
float4 _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4;
Unity_Multiply_float4_float4(_Normalize_6525e04726dcf3868e7af7f77ed898e2_Out_1_Vector4, float4(-0.1, -0.1, -0.1, -1), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4);
float4 _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4;
Unity_Multiply_float4_float4((_Split_233978cea2bd558992e45bf1b593c9f6_B_3_Float.xxxx), _Multiply_91f2ddb3a241708caa02e46c0911b10d_Out_2_Vector4, _Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4);
float3 _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3;
Unity_Add_float3(_Add_49731b94e4e73b838fcf4621ed12b3c5_Out_2_Vector3, (_Multiply_4bce3cf9895f828298a1d1c5c9c69f90_Out_2_Vector4.xyz), _Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3);
float3 _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3;
Unity_Normalize_float3(_Add_4ce1e742d4d23589b657483bfb4ca6e8_Out_2_Vector3, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3);
float3 _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3 = TransformWorldToTangentDir(_Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3.xyz, tangentTransform, false);
}
float3 _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Transform_77d1caddbcfb888d91c90ef23934b7d7_Out_1_Vector3, _Property_867e845d3b5417839226e67526ede381_Out_0_Vector3, _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3);
float3 _Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3;
{
float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3 = TransformTangentToWorldDir(_Property_867e845d3b5417839226e67526ede381_Out_0_Vector3.xyz, tangentTransform, false).xyz;
}
float3 _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3;
Unity_Normalize_float3(_Transform_3a5f67d6e979e88c908d521e864c0a7e_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3);
float3 _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
Unity_Branch_float3(_Property_c04b1e419210bd839c4dc8ee87e0bf76_Out_0_Boolean, _Normalize_f1903518923e9f818051d767f5bb83a6_Out_1_Vector3, _Normalize_80563966540b40a5977d8380b43098f3_Out_1_Vector3, _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3);
Opacity_1 = _Branch_871bc73529f6e28d908cd14c73bd2500_Out_3_Float;
NormalTangentSpace_2 = _Branch_dc6c2dbf5c5d4784ae385be26492978c_Out_3_Vector3;
NormalWorldSpace_3 = _Branch_323699bda0267a8a8444faff960f0c7d_Out_3_Vector3;
}
// Custom interpolators pre vertex
/* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreVertex' */
// Graph Vertex
struct VertexDescription
{
float3 Position;
float3 Normal;
float3 Tangent;
float3 TangentWS;
float3 BitangentWS;
float3 NormalWS;
};
VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
{
VertexDescription description = (VertexDescription)0;
float _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float = _BillboardKwToggle;
Bindings_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv2 = IN.uv2;
_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515.uv3 = IN.uv3;
float3 _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3;
SG_SpeedTree9CameraFacingLeafEffect_153b138ddd88e7b42a0c29bde1e7142c_float(IN.ObjectSpacePosition, ((bool) _Property_da547e9861af4b67b3413332c5cc75d2_Out_0_Float), _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515, _SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3);
Bindings_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv0 = IN.uv0;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv1 = IN.uv1;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv2 = IN.uv2;
_SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8.uv3 = IN.uv3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
float3 _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3;
SG_SpeedTree9Wind_e8af7a3452f45f542a042fef4a52065a_float(_SpeedTree9CameraFacingLeafEffect_673099963507407ebdbd802a99cc8515_ObjectSpacePositionOut_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3, _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_ObjectSpaceMotionVector_2_Vector3);
description.Position = _SpeedTree9Wind_019f9395be124513a0fb4f0356cc9bd8_AnimatedVertexObjectSpacePosition_1_Vector3;
description.Normal = IN.ObjectSpaceNormal;
description.Tangent = IN.ObjectSpaceTangent;
description.TangentWS = IN.WorldSpaceTangent;
description.BitangentWS = IN.WorldSpaceBiTangent;
description.NormalWS = IN.WorldSpaceNormal;
return description;
}
// Custom interpolators, pre surface
#ifdef FEATURES_GRAPH_VERTEX
Varyings CustomInterpolatorPassThroughFunc(inout Varyings output, VertexDescription input)
{
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
return output;
}
#define CUSTOMINTERPOLATOR_VARYPASSTHROUGH_FUNC
#endif
// Graph Pixel
struct SurfaceDescription
{
float3 BaseColor;
float Alpha;
float AlphaClipThreshold;
};
SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
{
SurfaceDescription surface = (SurfaceDescription)0;
UnityTexture2D _Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_MainTex);
float4 _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4 = _Color;
float _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean = _HueVariationKwToggle;
float4 _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4 = _HueVariationColor;
float _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float = _BillboardKwToggle;
float _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean;
Unity_Comparison_Equal_float(float(1), _Property_2e54a96afb6d462fac0dd72e47994d51_Out_0_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean);
Bindings_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.WorldSpaceViewDirection = IN.WorldSpaceViewDirection;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.VertexColor = IN.VertexColor;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.NDCPosition = IN.NDCPosition;
_SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da.uv0 = IN.uv0;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float;
float3 _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3;
float _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float;
SG_SpeedTree8ColorAlpha_1b4ecad27a9bc714e8d3af3ffb8a368c_float(_Property_60ea7522b0e6488ab3c19199b512b948_Out_0_Texture2D, _Property_a86f6a00f7a06485a579699fcd040ddc_Out_0_Vector4, _Property_0b5fa7423ffe4455acdb86240164b6e2_Out_0_Boolean, _Property_5fb42de5200efa8dba23dfa8af048bbb_Out_0_Vector4, 0, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, 0, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalColor_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_OriginalAlpha_3_Float);
float _Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean = _NormalMapKwToggle;
UnityTexture2D _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_NormalMap);
float _Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float = Backface_Normal_Mode;
float _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(0.5), _Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean);
float4 _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4 = float4(float(-1), float(-1), float(-1), float(1));
float _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean;
Unity_Comparison_Less_float(_Property_2ef5f7c779bf4b08afd537390e26f060_Out_0_Float, float(1.5), _Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean);
float4 _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4 = float4(float(1), float(1), float(-1), float(1));
float4 _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4 = float4(float(1), float(1), float(1), float(1));
float4 _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4;
Unity_Branch_float4(_Comparison_b71da290cc1c4a2cab4e8e3d43f05372_Out_2_Boolean, _Vector4_efdd705d7fc94c849a2ee2c1249bb6f3_Out_0_Vector4, _Vector4_5d828f4999a74c188a589ef14c8443c4_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4);
float4 _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4;
Unity_Branch_float4(_Comparison_5eea9077bdf74677afef9fdc3ff36efa_Out_2_Boolean, _Vector4_4ac15dfdb58f4e61a8ac3884f9362747_Out_0_Vector4, _Branch_2552c14819eb4a0da743fa429476a4a4_Out_3_Vector4, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4);
Bindings_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.WorldSpacePosition = IN.WorldSpacePosition;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.FaceSign = IN.FaceSign;
_SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2.uv0 = IN.uv0;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3;
float3 _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3;
SG_SpeedTree8InterpolatedNormals_b04441f4a83ad224d92d547d170c366b_float(_Property_131865e462904bcf9e759c793cbe3bae_Out_0_Boolean, _Property_b5c30ef39afc548fbcb9d8a6de4be9bb_Out_0_Texture2D, IN.TangentWS, IN.BitangentWS, IN.NormalWS, _Branch_0ceaae1d6d7c4600a447878ad231e77e_Out_3_Vector4, 0, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalWS_1_Vector3, _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3);
Bindings_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.ObjectSpaceNormal = IN.ObjectSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceNormal = IN.WorldSpaceNormal;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceTangent = IN.WorldSpaceTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
_SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2.FaceSign = IN.FaceSign;
float _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3;
float3 _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3;
SG_SpeedTree8Billboard_89c32740b629abb41bf9b65e3a64c373_float(float(8), _SpeedTree8InterpolatedNormals_ed9a4e01eae347baa5a20ead6bc235a2_NormalTS_2_Vector3, _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedAlpha_4_Float, _Comparison_fbca2179ca8244c3bb40e866aaeafdb8_Out_2_Boolean, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalTangentSpace_2_Vector3, _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_NormalWorldSpace_3_Vector3);
float _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float = _AlphaClipThreshold;
surface.BaseColor = _SpeedTree8ColorAlpha_638ceae238f14da591f4e9f4158337da_ModifiedColor_1_Vector3;
surface.Alpha = _SpeedTree8Billboard_66414e3b15df728d844ff42cba2cbac2_Opacity_1_Float;
surface.AlphaClipThreshold = _Property_7deb000388cdca8e83d6cb945dbdedb9_Out_0_Float;
return surface;
}
// --------------------------------------------------
// Build Graph Inputs
#ifdef HAVE_VFX_MODIFICATION
#define VFX_SRP_ATTRIBUTES Attributes
#define VFX_SRP_VARYINGS Varyings
#define VFX_SRP_SURFACE_INPUTS SurfaceDescriptionInputs
#endif
VertexDescriptionInputs BuildVertexDescriptionInputs(Attributes input)
{
VertexDescriptionInputs output;
ZERO_INITIALIZE(VertexDescriptionInputs, output);
output.ObjectSpaceNormal = input.normalOS;
output.WorldSpaceNormal = TransformObjectToWorldNormal(input.normalOS);
output.ObjectSpaceTangent = input.tangentOS.xyz;
output.WorldSpaceTangent = TransformObjectToWorldDir(input.tangentOS.xyz);
output.ObjectSpaceBiTangent = normalize(cross(input.normalOS, input.tangentOS.xyz) * (input.tangentOS.w > 0.0f ? 1.0f : -1.0f) * GetOddNegativeScale());
output.WorldSpaceBiTangent = TransformObjectToWorldDir(output.ObjectSpaceBiTangent);
output.ObjectSpacePosition = input.positionOS;
output.uv0 = input.uv0;
output.uv1 = input.uv1;
output.uv2 = input.uv2;
output.uv3 = input.uv3;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
return output;
}
SurfaceDescriptionInputs BuildSurfaceDescriptionInputs(Varyings input)
{
SurfaceDescriptionInputs output;
ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
#ifdef HAVE_VFX_MODIFICATION
#if VFX_USE_GRAPH_VALUES
uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
/* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
#endif
/* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
#endif
output.TangentWS = input.TangentWS;
output.BitangentWS = input.BitangentWS;
output.NormalWS = input.NormalWS;
// must use interpolated tangent, bitangent and normal before they are normalized in the pixel shader.
float3 unnormalizedNormalWS = input.normalWS;
const float renormFactor = 1.0 / length(unnormalizedNormalWS);
// use bitangent on the fly like in hdrp
// IMPORTANT! If we ever support Flip on double sided materials ensure bitangent and tangent are NOT flipped.
float crossSign = (input.tangentWS.w > 0.0 ? 1.0 : -1.0)* GetOddNegativeScale();
float3 bitang = crossSign * cross(input.normalWS.xyz, input.tangentWS.xyz);
output.WorldSpaceNormal = renormFactor * input.normalWS.xyz; // we want a unit length Normal Vector node in shader graph
output.ObjectSpaceNormal = normalize(mul(output.WorldSpaceNormal, (float3x3) UNITY_MATRIX_M)); // transposed multiplication by inverse matrix to handle normal scale
// to pr eserve mikktspace compliance we use same scale renormFactor as was used on the normal.
// This is explained in section 2.2 in "surface gradient based bump mapping framework"
output.WorldSpaceTangent = renormFactor * input.tangentWS.xyz;
output.WorldSpaceBiTangent = renormFactor * bitang;
output.WorldSpaceViewDirection = GetWorldSpaceNormalizeViewDir(input.positionWS);
output.WorldSpacePosition = input.positionWS;
#if UNITY_UV_STARTS_AT_TOP
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x < 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#else
output.PixelPosition = float2(input.positionCS.x, (_ProjectionParams.x > 0) ? (_ScaledScreenParams.y - input.positionCS.y) : input.positionCS.y);
#endif
output.NDCPosition = output.PixelPosition.xy / _ScaledScreenParams.xy;
output.NDCPosition.y = 1.0f - output.NDCPosition.y;
output.uv0 = input.texCoord0;
output.VertexColor = input.color;
#if UNITY_ANY_INSTANCING_ENABLED
#else // TODO: XR support for procedural instancing because in this case UNITY_ANY_INSTANCING_ENABLED is not defined and instanceID is incorrect.
#endif
#if defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN output.FaceSign = IS_FRONT_VFACE(input.cullFace, true, false);
#else
#define BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#endif
BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
#undef BUILD_SURFACE_DESCRIPTION_INPUTS_OUTPUT_FACESIGN
return output;
}
// --------------------------------------------------
// Main
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/Varyings.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/PBR2DPass.hlsl"
// --------------------------------------------------
// Visual Effect Vertex Invocations
#ifdef HAVE_VFX_MODIFICATION
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl"
#endif
<Packages/com.unity.render-pipelines.universal/Shaders/NatureSpeedTree9_URP.shadergraph<00><><EFBFBD><EFBFBD><00>)<00>ۇ><3E>~<7E>ƭ<18> <09>@_ _WIND_SHIMMER_ _WIND_BRANCH1_ _WIND_BRANCH2_ _WIND_SHARED_ _WIND_RIPPLE_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER_&_FOVEATED_RENDERING_NON_UNIFORM_RASTER&_FOVEATED_RENDERING_NON_UNIFORM_RASTER
SHADOWS_SOFT<46>DIRLIGHTMAP_COMBINED<45>DYNAMICLIGHTMAP_ON<00>SHADOWS_SCREEN<00> INSTANCING_ONPROCEDURAL_INSTANCING_ON@STEREO_MULTIVIEW_ON<00>STEREO_INSTANCING_ON<4F>"UNITY_DEVICE_SUPPORTS_NATIVE_16BIT (UNITY_DEVICE_SUPPORTS_INLINE_RAY_TRACING&_FOVEATED_RENDERING_NON_UNIFORM_RASTER<00>=̤L<>><3E><>f<EFBFBD>SpeedTree9_URP<00><><EFBFBD><EFBFBD>K<EFBFBD>E<EFBFBD><00><><EFBFBD><EFBFBD> _ExtraTex<00>?<00>?_MainTex<00>?<00>?
_NormalMap<00>?<00>?_SubsurfaceTex<00>?<00>?unity_Lightmaps<00>?<00>?unity_LightmapsInd<00>?<00>?unity_ShadowMasks<00>?<00>?Backface_Normal_ModeEFFECT_EXTRA_TEX<00>?_AlphaClipThreshold<00><><EFBFBD>=_BillboardKwToggle _Glossiness?_HueVariationKwToggle<00>? _Metallic_NormalMapKwToggle<00>? _QueueControl<00><> _QueueOffset_SubsurfaceIndirect<00>>_SubsurfaceKwToggle _WIND_BRANCH1 _WIND_BRANCH2 _WIND_RIPPLE _WIND_SHARED _WIND_SHIMMER_Color<00>?<00>?<00>?<00>?_HueVariationColor<00>??<00><>L>_SubsurfaceColor<00>?<00>?<00>?<00>?5kv.o\'m<><6D>b<EFBFBD>O<EFBFBD><4F><EFBFBD>/<2F><>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD>E<EFBFBD><00>y<EFBFBD> <00>y<EFBFBD>eUnity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.ShaderGraph.UniversalMetadata<00>