UnityGame/Library/PackageCache/com.unity.render-pipelines.universal/ShaderLibrary/VisualEffectVertex.hlsl
2024-10-27 10:53:47 +03:00

30 lines
826 B
HLSL

// Wrapper vertex invocations for VFX. Necessary to work around various null input geometry issues for vertex input layout on DX12 and Vulkan.
void VertVFX(
#if NULL_GEOMETRY_INPUT
uint vertexID : VERTEXID_SEMANTIC
, uint instanceID : INSTANCEID_SEMANTIC
#else
Attributes input
#endif
#if (SHADERPASS == SHADERPASS_MOTION_VECTORS)
, out PackedMotionVectorPassVaryings packedMvOutput
#endif
, out PackedVaryings packedOutput
)
{
#if NULL_GEOMETRY_INPUT
Attributes input;
ZERO_INITIALIZE(Attributes, input);
input.vertexID = vertexID;
input.instanceID = instanceID;
#endif
#if (SHADERPASS != SHADERPASS_MOTION_VECTORS)
packedOutput = vert(input);
#else
MotionVectorPassAttributes dummy = (MotionVectorPassAttributes)0;
vert(input, dummy, packedMvOutput, packedOutput);
#endif
}