Theatrics— first column is in the middle, next one's over to the side, then they all join in

This commit is contained in:
Rezmason
2022-09-24 07:16:01 -07:00
parent 965e21d3ba
commit 679580a394
2 changed files with 20 additions and 4 deletions

View File

@@ -41,8 +41,16 @@ vec4 computeResult(float simTime, bool isFirstFrame, vec2 glyphPos, vec2 screenP
return vec4(1., 0., 0., 0.);
}
float columnTimeOffset = randomFloat(vec2(glyphPos.x, 0.)) * -10.;
columnTimeOffset += sin(glyphPos.x / numColumns * PI) - 1.;
float columnTimeOffset;
int column = int(glyphPos.x);
if (column == int(numColumns / 2.)) {
columnTimeOffset = -1.;
} else if (column == int(numColumns * 0.75)) {
columnTimeOffset = -2.;
} else {
columnTimeOffset = randomFloat(vec2(glyphPos.x, 0.)) * -4.;
columnTimeOffset += (sin(glyphPos.x / numColumns * PI) - 1.) * 2. - 2.5;
}
float introTime = (simTime + columnTimeOffset) * fallSpeed / numRows * 100.;
vec4 result = vec4(introTime, 0., 0., 0.);

View File

@@ -221,8 +221,16 @@ fn computeIntro (simTime : f32, isFirstFrame : bool, glyphPos : vec2<f32>, scree
return vec4<f32>(1.0, 0.0, 0.0, 0.0);
}
var columnTimeOffset = randomFloat(glyphPos) * -10.0;
columnTimeOffset += sin(glyphPos.x / config.gridSize.x * PI) - 1.0;
var columnTimeOffset = 0.0;
var column = i32(glyphPos.x);
if (column == i32(config.gridSize.y / 2.0)) {
columnTimeOffset = -1.0;
} else if (column == i32(config.gridSize.y * 0.75)) {
columnTimeOffset = -2.0;
} else {
columnTimeOffset = randomFloat(vec2(glyphPos.x, 0.)) * -4.;
columnTimeOffset += (sin(glyphPos.x / config.gridSize.y * PI) - 1.) * 2. - 2.5;
}
var introTime = (simTime + columnTimeOffset) * config.fallSpeed / config.gridSize.y * 100.0;
var result = vec4<f32>(introTime, 0.0, 0.0, 0.0);