added random seed
This commit is contained in:
@@ -1,21 +1,22 @@
|
||||
float4 balatroSwirl(float2 screenSize, float2 screenCoords, float time)
|
||||
float4 balatroSwirl(float2 screenSize, float2 screenCoords, float time, float seed)
|
||||
{
|
||||
const float pi = 3.14159265359;
|
||||
float safeScreenLength = max(length(screenSize), 1.0);
|
||||
float2 uv = (screenCoords - 0.5 * screenSize) / safeScreenLength - offset;
|
||||
float2 seedOffset = float2(sin(seed * 6.2831853), cos(seed * 6.2831853)) * 0.035;
|
||||
float2 uv = (screenCoords - 0.5 * screenSize) / safeScreenLength - offset - seedOffset;
|
||||
float uvLength = length(uv);
|
||||
|
||||
float speed = spinRotation * spinEase * 0.2;
|
||||
if (isRotate)
|
||||
speed = time * speed;
|
||||
speed += 302.2;
|
||||
speed += 302.2 + seed * 6.2831853;
|
||||
|
||||
float newPixelAngle = atan2(uv.y, uv.x) + speed - spinEase * 20.0 * (spinAmount * uvLength + (1.0 - spinAmount));
|
||||
float2 mid = (screenSize / safeScreenLength) * 0.5;
|
||||
uv = float2(uvLength * cos(newPixelAngle) + mid.x, uvLength * sin(newPixelAngle) + mid.y) - mid;
|
||||
|
||||
uv *= 30.0;
|
||||
speed = time * spinSpeed;
|
||||
speed = (time + seed * 17.0) * spinSpeed;
|
||||
float2 uv2 = float2(uv.x + uv.y, uv.x + uv.y);
|
||||
|
||||
for (int i = 0; i < 5; ++i)
|
||||
@@ -42,6 +43,6 @@ float4 balatroSwirl(float2 screenSize, float2 screenCoords, float time)
|
||||
float4 shadeVideo(ShaderContext context)
|
||||
{
|
||||
float2 screenSize = max(context.outputResolution, float2(1.0, 1.0));
|
||||
float4 swirl = balatroSwirl(screenSize, context.uv * screenSize, context.time);
|
||||
float4 swirl = balatroSwirl(screenSize, context.uv * screenSize, context.time, context.startupRandom);
|
||||
return saturate(lerp(swirl, context.sourceColor, sourceMix));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user