mirror of
https://github.com/maxartz15/VertexAnimation.git
synced 2025-07-04 07:16:05 +02:00
Shader UV's
Support for both Houdini (Flipped) and normal UVs.
This commit is contained in:
@ -8,29 +8,18 @@
|
||||
float2 VA_UV_float(float2 uv, int maxFrames, float time)
|
||||
{
|
||||
float2 uvPosition;
|
||||
|
||||
float timeInFrames = frac(time);
|
||||
timeInFrames = ceil(timeInFrames * maxFrames);
|
||||
timeInFrames /= maxFrames;
|
||||
timeInFrames += round(1.0f / maxFrames);
|
||||
|
||||
uvPosition.x = uv.x;
|
||||
|
||||
#ifdef VA_FLIP_UVS_ON
|
||||
uvPosition.y = (1.0f - (timeInFrames)) + (1.0f - (1.0f - uv.y));
|
||||
|
||||
return uvPosition;
|
||||
}
|
||||
|
||||
float2 VA1_UV_float(float2 uv, int maxFrames, float time)
|
||||
{
|
||||
float2 uvPosition;
|
||||
|
||||
float timeInFrames = frac(time);
|
||||
timeInFrames = ceil(timeInFrames * maxFrames);
|
||||
timeInFrames /= maxFrames;
|
||||
timeInFrames += round(1.0f / maxFrames);
|
||||
|
||||
uvPosition.x = uv.x;
|
||||
#else
|
||||
uvPosition.y = (1.0f - (1.0f - uv.y) - (1.0f - (timeInFrames)));
|
||||
#endif
|
||||
|
||||
return uvPosition;
|
||||
}
|
||||
@ -49,20 +38,6 @@ void VA_float(float2 uv, SamplerState texSampler, Texture2D positionMap, float t
|
||||
alpha = texturePos.w;
|
||||
}
|
||||
|
||||
void VA1_float(float2 uv, SamplerState texSampler, Texture2D positionMap, float time, int maxFrames,
|
||||
out float3 position, out float alpha)
|
||||
{
|
||||
float2 uvPosition = VA1_UV_float(uv, maxFrames, time);
|
||||
|
||||
// Position.
|
||||
float4 texturePos = positionMap.SampleLevel(texSampler, uvPosition, 0);
|
||||
position = texturePos.xyz;
|
||||
|
||||
// Normal.
|
||||
//FloatToFloat3_float(texturePos.w, outNormal);
|
||||
alpha = texturePos.w;
|
||||
}
|
||||
|
||||
void VA_ARRAY_float(float2 uv, SamplerState texSampler, Texture2DArray positionMap, float positionMapIndex, float time, int maxFrames,
|
||||
out float3 position, out float3 alpha)
|
||||
{
|
||||
|
Reference in New Issue
Block a user