#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#_RotationCenter; uniform float CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendAngle; uniform float CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendMinimumRadius; #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#_RotationCenter, CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendAngle, CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendMinimumRadius); } 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#_RotationCenter, CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendAngle, CurvedWorld_#BEND_TYPE_SMALL#_ID#ID#_BendMinimumRadius); } 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