You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
1.9 KiB
HLSL

/******************************************************************************/
/*
Project - MudBun
Publisher - Long Bunny Labs
http://LongBunnyLabs.com
Author - Ming-Lun "Allen" Chou
http://AllenChou.net
*/
/******************************************************************************/
#ifndef MUDBUN_SPLAT_SHADER_GRAPH
#define MUDBUN_SPLAT_SHADER_GRAPH
#ifndef MUDBUN_UNITY_SHADER_GRAPH
#define MUDBUN_UNITY_SHADER_GRAPH
#endif
#if defined(SHADERPASS)
#if (!defined(MUDBUN_HDRP) && (!definedSHADERPASS == SHADERPASS_SHADOWCASTER)) || (defined(MUDBUN_HDRP) && (SHADERPASS == SHADERPASS_SHADOWS))
#define MUDBUN_SHADOW_PASS
#endif
#endif
#include "Assets/MudBun/Shader/Render/ShaderCommon.cginc"
#include "Assets/MudBun/Shader/Render/SplatCommon.cginc"
void MudBunSplatVertex_float
(
float VertexID,
out float3 PositionWs,
out float3 PositionLs,
out float3 NormalWs,
out float3 NormalLs,
out float3 TangentWs,
out float3 TangentLs,
out float3 CenterWs,
out float3 CenterLs,
out float4 Color,
out float4 EmissionHash,
out float Metallic,
out float Smoothness,
out float2 TextureUv,
out float4 TextureWeight,
out float SdfValue,
out float3 Outward2dNormalLs,
out float3 Outward2dNormalWs
)
{
float4 positionWs;
float2 metallicSmoothness;
mudbun_splat_vert
(
uint(VertexID),
positionWs,
PositionLs,
NormalWs,
NormalLs,
TangentWs,
TangentLs,
CenterWs,
CenterLs,
Color,
EmissionHash,
metallicSmoothness,
TextureUv,
TextureWeight,
SdfValue,
Outward2dNormalLs,
Outward2dNormalWs
);
PositionWs = positionWs.xyz;
Metallic = metallicSmoothness.x;
Smoothness = metallicSmoothness.y;
}
void MudBunQuadSplats_float
(
out bool QuadSplats
)
{
#ifdef MUDBUN_QUAD_SPLATS
QuadSplats = true;
#else
QuadSplats = false;
#endif
}
#endif