You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
4.3 KiB
149 lines
4.3 KiB
#ifndef UNIVERSAL_PARTICLES_INPUT_INCLUDED |
|
#define UNIVERSAL_PARTICLES_INPUT_INCLUDED |
|
|
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" |
|
|
|
struct AttributesParticle |
|
{ |
|
float4 positionOS : POSITION; |
|
half4 color : COLOR; |
|
|
|
#if defined(_FLIPBOOKBLENDING_ON) && !defined(UNITY_PARTICLE_INSTANCING_ENABLED) |
|
float4 texcoords : TEXCOORD0; |
|
float texcoordBlend : TEXCOORD1; |
|
#else |
|
float2 texcoords : TEXCOORD0; |
|
#endif |
|
|
|
#if !defined(PARTICLES_EDITOR_META_PASS) |
|
float3 normalOS : NORMAL; |
|
float4 tangentOS : TANGENT; |
|
#endif |
|
UNITY_VERTEX_INPUT_INSTANCE_ID |
|
}; |
|
|
|
struct VaryingsParticle |
|
{ |
|
float4 clipPos : SV_POSITION; |
|
float2 texcoord : TEXCOORD0; |
|
half4 color : COLOR; |
|
|
|
#if defined(_FLIPBOOKBLENDING_ON) |
|
float3 texcoord2AndBlend : TEXCOORD5; |
|
#endif |
|
|
|
#if !defined(PARTICLES_EDITOR_META_PASS) |
|
float4 positionWS : TEXCOORD1; |
|
|
|
#ifdef _NORMALMAP |
|
half4 normalWS : TEXCOORD2; // xyz: normal, w: viewDir.x |
|
half4 tangentWS : TEXCOORD3; // xyz: tangent, w: viewDir.y |
|
half4 bitangentWS : TEXCOORD4; // xyz: bitangent, w: viewDir.z |
|
#else |
|
half3 normalWS : TEXCOORD2; |
|
half3 viewDirWS : TEXCOORD3; |
|
#endif |
|
|
|
#if defined(_SOFTPARTICLES_ON) || defined(_FADING_ON) || defined(_DISTORTION_ON) |
|
float4 projectedPosition: TEXCOORD6; |
|
#endif |
|
|
|
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) |
|
float4 shadowCoord : TEXCOORD7; |
|
#endif |
|
|
|
half3 vertexSH : TEXCOORD8; // SH |
|
#endif |
|
|
|
UNITY_VERTEX_INPUT_INSTANCE_ID |
|
UNITY_VERTEX_OUTPUT_STEREO |
|
}; |
|
|
|
struct AttributesDepthOnlyParticle |
|
{ |
|
float4 vertex : POSITION; |
|
|
|
#if defined(_ALPHATEST_ON) |
|
half4 color : COLOR; |
|
|
|
#if defined(_FLIPBOOKBLENDING_ON) && !defined(UNITY_PARTICLE_INSTANCING_ENABLED) |
|
float4 texcoords : TEXCOORD0; |
|
float texcoordBlend : TEXCOORD1; |
|
#else |
|
float2 texcoords : TEXCOORD0; |
|
#endif |
|
#endif |
|
UNITY_VERTEX_INPUT_INSTANCE_ID |
|
}; |
|
|
|
struct VaryingsDepthOnlyParticle |
|
{ |
|
float4 clipPos : SV_POSITION; |
|
|
|
#if defined(_ALPHATEST_ON) |
|
float2 texcoord : TEXCOORD0; |
|
half4 color : COLOR; |
|
|
|
#if defined(_FLIPBOOKBLENDING_ON) |
|
float3 texcoord2AndBlend : TEXCOORD5; |
|
#endif |
|
#endif |
|
|
|
UNITY_VERTEX_INPUT_INSTANCE_ID |
|
UNITY_VERTEX_OUTPUT_STEREO |
|
}; |
|
|
|
struct AttributesDepthNormalsParticle |
|
{ |
|
float4 vertex : POSITION; |
|
|
|
#if defined(_ALPHATEST_ON) |
|
half4 color : COLOR; |
|
#endif |
|
|
|
#if defined(_ALPHATEST_ON) || defined(_NORMALMAP) |
|
#if defined(_FLIPBOOKBLENDING_ON) && !defined(UNITY_PARTICLE_INSTANCING_ENABLED) |
|
float4 texcoords : TEXCOORD0; |
|
float texcoordBlend : TEXCOORD1; |
|
#else |
|
float2 texcoords : TEXCOORD0; |
|
#endif |
|
#endif |
|
|
|
float3 normal : NORMAL; |
|
float4 tangent : TANGENT; |
|
|
|
UNITY_VERTEX_INPUT_INSTANCE_ID |
|
}; |
|
|
|
|
|
struct VaryingsDepthNormalsParticle |
|
{ |
|
float4 clipPos : SV_POSITION; |
|
|
|
#if defined(_ALPHATEST_ON) |
|
half4 color : COLOR; |
|
#endif |
|
|
|
#if defined(_ALPHATEST_ON) || defined(_NORMALMAP) |
|
float2 texcoord : TEXCOORD0; |
|
|
|
#if defined(_FLIPBOOKBLENDING_ON) |
|
float3 texcoord2AndBlend : TEXCOORD5; |
|
#endif |
|
#endif |
|
|
|
#if defined(_NORMALMAP) |
|
float4 normalWS : TEXCOORD2; // xyz: normal, w: viewDir.x |
|
float4 tangentWS : TEXCOORD3; // xyz: tangent, w: viewDir.y |
|
float4 bitangentWS : TEXCOORD4; // xyz: bitangent, w: viewDir.z |
|
#else |
|
float3 normalWS : TEXCOORD2; |
|
float3 viewDirWS : TEXCOORD3; |
|
#endif |
|
|
|
UNITY_VERTEX_INPUT_INSTANCE_ID |
|
UNITY_VERTEX_OUTPUT_STEREO |
|
}; |
|
|
|
#endif // UNIVERSAL_PARTICLES_INPUT_INCLUDED
|
|
|