Unity Products:Amplify Shader Editor/Vertex TexCoord and Unity Products:Amplify Shader Editor/Vertex To Fragment: Difference between pages

From Amplify Creations Wiki
(Difference between pages)
Jump to navigation Jump to search
m (1 revision imported)
 
m (1 revision imported)
 
Line 1: Line 1:
[[Unity_Products:Amplify_Shader_Editor/Nodes | Back to Node List]]
[[Unity_Products:Amplify_Shader_Editor/Nodes | Back to Node List]]
== Vertex TexCoord node ==


The Vertex TexCoord node outputs texture coordinates directly from vertex data without any type of further calculations on tilling and offset.<br/>
== Vertex To Fragment Node ==
'''NOTE:''' Use [[Unity_Products:Amplify_Shader_Editor/Texture_Coordinates|Texture Coordinates]] if a more complete texture operation is required.


<img class="responsive-img" src="http://wiki.amplify.pt/images/NodeDetail/VertexTexcoordNode.jpg">
The Vertex To Fragment node allows data to be calculated on the vertex function and transferred to the surface/fragment via interpolators.<br/>
<br/><font size="1">Nodes used:  
'''NOTE 1:''' [[#paramNoInterpolation|No Interpolation]] cannot be used over the '''Standard Surface''' type as we must be able to directly control interpolators registry, which does't happen over this shader type.<br/>
[[Unity_Products:Amplify_Shader_Editor/Vertex_TexCoord|Vertex TexCoord]],
'''NOTE 2:''' [[#paramNoInterpolation|No Interpolation]] will not work across all API's and can even throw compilation errors on some of them ( p.e. Metal and GLES 2.0 ).<br/>
[[Unity_Products:Amplify_Shader_Editor/Texture_Sample|Texture Sample]]
 
<img class="responsive-img" src="http://wiki.amplify.pt/images/NodeDetail/VertexToFragmentNode.gif">
<font size="1">Nodes used:  
[[Unity_Products:Amplify_Shader_Editor/World_Normal|Word Normal]],
[[Unity_Products:Amplify_Shader_Editor/World_Space_Light_Dir|World Space Light Dir]],
[[Unity_Products:Amplify_Shader_Editor/Dot|Dot]],
[[Unity_Products:Amplify_Shader_Editor/Float|Float]],
[[Unity_Products:Amplify_Shader_Editor/Power|Power]],
[[Unity_Products:Amplify_Shader_Editor/Vertex_To_Fragment|Vertex To Fragment]],
[[Unity_Products:Amplify_Shader_Editor/Light_Attenuation|Light Attenuation]],
[[Unity_Products:Amplify_Shader_Editor/Light_Color|Light Color]],
[[Unity_Products:Amplify_Shader_Editor/Multiply|Multiply]]
</font>
</font>


{| class="wikitable" style="width: 100%;"
{| class="wikitable" style="width: 100%;"
|-
|-  
! style="width: 10%;" | Node Parameter !! Description !! style="width: 10%;" | Default Value
! style="width: 10%;" | Node Parameter !! Description !! style="width: 10%;" | Default Value
|-
|-
| id="paramcoordsize" | Coord Size
| id="paramNoInterpolation" | No Interpolation
| The size of the main output port which allows you to read more packed data from vertex coordinates. Dynamically changes output ports accordingly.
| When active, makes sure it uses an interpolator with the nointerpolation flag used, which prevents the values assigned to it to be interpolated on the rasterization process.  
* '''Float[2,4]:''' Changes size from Float2 to Float4
| False
| Float2
|-
| id="paramuvset" | UV Channel
| The UV channel used, also knows as UV Index in some applications. Set 2 is usually used for Lightmap UV coordinates.
* '''[1,8]:''' Changes set to specified number from set 1 to set 8. Please that Unity 2018.1 and below only allows from 1 to 4.
| 1
|}
|}


{| class="wikitable" style="width: 100%;"
{| class="wikitable" style="width: 100%;"
|-  
|-  
! style="width: 10%;" | Output Port !! Description !! style="width: 10%;" | Type
! style="width: 10%;" | Input Port !! Description !! style="width: 10%;" | Type
|-
| UV(WT)
| Returns a vector2, vector3 or vector4 containing U and V coordinates respectively in case of vector2, UVW coordinates for vector3 and UVWT for vector4
| Float2(34)
|-
| U
| Returns a float containing the U coordinate
| Float
|-  
|-  
| V
| id="paramVSIn" | (VS) In
| Returns a float containing the V coordinate
| Value to be transferred to surface/fragment function.  
| Float
| Float <sup id="ref1">[[#anchor|[1]]]</sup>
|- style="background: #e5e5e5;" |
| W
| Returns a float containing the W coordinate. Only available if [[#paramcoordsize|Coord Size]] is set to Float3.
| Float
|- style="background: #e5e5e5;" |
| T
| Returns a float containing the T coordinate. Only available if [[#paramcoordsize|Coord Size]] is set to Float4.
| Float
|}
|}
----
# <span id="anchor1">'''[[#ref1|^]]'''</span> Port automatically adapts to all connection types except Matrices and [[Unity Products:Amplify Shader Editor/Texture Object|Sampler]] types.


[[Unity_Products:Amplify_Shader_Editor/Nodes | Back to Node List]]
[[Unity_Products:Amplify_Shader_Editor/Nodes | Back to Node List]]
[[Category:Nodes]][[Category:Vertex Data]]
[[Category:Nodes]][[Category:Miscellaneous]]

Latest revision as of 00:06, 2 December 2023

Back to Node List

Vertex To Fragment Node

The Vertex To Fragment node allows data to be calculated on the vertex function and transferred to the surface/fragment via interpolators.
NOTE 1: No Interpolation cannot be used over the Standard Surface type as we must be able to directly control interpolators registry, which does't happen over this shader type.
NOTE 2: No Interpolation will not work across all API's and can even throw compilation errors on some of them ( p.e. Metal and GLES 2.0 ).

Nodes used: Word Normal, World Space Light Dir, Dot, Float, Power, Vertex To Fragment, Light Attenuation, Light Color, Multiply

Node Parameter Description Default Value
No Interpolation When active, makes sure it uses an interpolator with the nointerpolation flag used, which prevents the values assigned to it to be interpolated on the rasterization process. False
Input Port Description Type
(VS) In Value to be transferred to surface/fragment function. Float [1]

  1. ^ Port automatically adapts to all connection types except Matrices and Sampler types.


Back to Node List