35 lines
785 B
HLSL
35 lines
785 B
HLSL
#include "MMD4Mecanim-MMDLit-Compatible.cginc"
|
|
|
|
// Not for redistribution without the author's express written permission
|
|
half4 _EdgeColor;
|
|
float _EdgeSize;
|
|
//float _EdgeZOffset;
|
|
|
|
inline float MMDLit_GetEdgeSize()
|
|
{
|
|
return _EdgeSize * EDGE_SCALE;
|
|
}
|
|
|
|
inline float4 MMDLit_GetEdgeVertex(float4 vertex, float3 normal)
|
|
{
|
|
#if 0
|
|
float edge_size = MMDLit_GetEdgeSize();
|
|
#else
|
|
// Adjust edge_size by distance & fovY
|
|
float r_proj_y = UNITY_MATRIX_P[1][1];
|
|
float edge_size = abs(MMDLit_GetEdgeSize() / r_proj_y);
|
|
#endif
|
|
return vertex + float4(normal.xyz * edge_size, 0.0);
|
|
}
|
|
|
|
inline float4 MMDLit_TransformEdgeVertex(float4 vertex)
|
|
{
|
|
#if 1
|
|
return _UnityObjectToClipPos(vertex);
|
|
#else
|
|
vertex = _UnityObjectToClipPos(vertex);
|
|
vertex.z += _EdgeZOffset * vertex.w;
|
|
return vertex;
|
|
#endif
|
|
}
|