89 lines
3.4 KiB
Plaintext
89 lines
3.4 KiB
Plaintext
|
#ifndef CURVEDWORLD_#BEND_TYPE_BIG#_ID#ID#_CGINC
|
||
|
#define CURVEDWORLD_#BEND_TYPE_BIG#_ID#ID#_CGINC
|
||
|
|
||
|
uniform float3 CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_PivotPoint;
|
||
|
uniform float3 CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_RotationAxis;
|
||
|
uniform float3 CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendSize;
|
||
|
uniform float3 CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendOffset;
|
||
|
|
||
|
|
||
|
#include "../../Core/Core.cginc"
|
||
|
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
// //
|
||
|
// Main Method //
|
||
|
// //
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
void CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#(inout float4 vertexOS)
|
||
|
{
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#(vertexOS,
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_PivotPoint,
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_RotationAxis,
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendSize,
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendOffset);
|
||
|
}
|
||
|
|
||
|
void CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#(inout float4 vertexOS, inout float3 normalOS, float4 tangent)
|
||
|
{
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#(vertexOS,
|
||
|
normalOS,
|
||
|
tangent,
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_PivotPoint,
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_RotationAxis,
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendSize,
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendOffset);
|
||
|
}
|
||
|
|
||
|
void CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#(inout float3 vertexOS)
|
||
|
{
|
||
|
float4 vertex = float4(vertexOS, 1);
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#(vertex);
|
||
|
|
||
|
vertexOS.xyz = vertex.xyz;
|
||
|
}
|
||
|
|
||
|
void CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#(inout float3 vertexOS, inout float3 normalOS, float4 tangent)
|
||
|
{
|
||
|
float4 vertex = float4(vertexOS, 1);
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#(vertex, normalOS, tangent);
|
||
|
|
||
|
vertexOS.xyz = vertex.xyz;
|
||
|
}
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
// //
|
||
|
// SubGraph Methods //
|
||
|
// //
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
void CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_float(float3 vertexOS, out float3 retVertex)
|
||
|
{
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#(vertexOS);
|
||
|
|
||
|
retVertex = vertexOS.xyz;
|
||
|
}
|
||
|
|
||
|
void CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_half(half3 vertexOS, out half3 retVertex)
|
||
|
{
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#(vertexOS);
|
||
|
|
||
|
retVertex = vertexOS.xyz;
|
||
|
}
|
||
|
|
||
|
void CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_float(float3 vertexOS, float3 normalOS, float4 tangent, out float3 retVertex, out float3 retNormal)
|
||
|
{
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#(vertexOS, normalOS, tangent);
|
||
|
|
||
|
retVertex = vertexOS.xyz;
|
||
|
retNormal = normalOS.xyz;
|
||
|
}
|
||
|
|
||
|
void CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_half(half3 vertexOS, half3 normalOS, half4 tangent, out half3 retVertex, out float3 retNormal)
|
||
|
{
|
||
|
CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#(vertexOS, normalOS, tangent);
|
||
|
|
||
|
retVertex = vertexOS.xyz;
|
||
|
retNormal = normalOS.xyz;
|
||
|
}
|
||
|
|
||
|
#endif
|