Skip to content

Commit a2ee8b5

Browse files
committed
select song message
1 parent 4d0e250 commit a2ee8b5

2 files changed

Lines changed: 13 additions & 4 deletions

File tree

src/main.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ folderOptions.add(selectedScheme, 'Color Scheme', colorSchemes).onChange(v => {
4242
});
4343

4444
function clickSong() {
45-
playSong(this)
45+
points.setUniform('showMessage', 0);
46+
playSong(this);
4647
}
4748

4849
function playSong(song) {
@@ -318,11 +319,13 @@ points.setTexture2d('feedbackTexture', true);
318319

319320
audio = points.setAudio('audio', './../80s-pulse-synthwave-dude-212407.mp3', options.volume, loop, false);
320321

322+
points.setUniform('showMessage', 1);
321323
points.setUniform('rand', 0);
322324
points.setUniform('progress', 0);
323325
points.setUniform('artworkLoaded', 0);
324326
// points.setUniform('somecolor', colors.color2, 'vec3f');
325327
points.setStorageMap('chars', [15, 14, 8, 13, 19, 18], 'array<f32>')// TODO: setStorageMap doesn't work with u32 wrong sized
328+
points.setStorageMap('message', strToCodes('Select a song to Play'), 'array<f32>')// TODO: setStorageMap doesn't work with u32 wrong sized
326329
points.setStorageMap('artworkColors', Array(16).fill(1), 'array<vec4f>');
327330
points.setStorage('variables', 'Variables');
328331
await points.setTextureImage('font', './src/img/inconsolata_regular_8x22.png');

src/renderpasses/renderpass0/frag.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,14 @@ fn main(
226226
stringMask2 += sprite(font, textImageSampler, space + fontPosition + charPosition, textUVR + .0005, charIndex - charOffset, charSize).x;
227227
}
228228
229-
230-
229+
var messageStringMask = 0.;
230+
let messagePosition = vec2(.15, .19) * ratio;
231+
for (var index = 0; index < 21; index++) {
232+
let charIndex = u32(message[index]);
233+
let charPosition = charSizeF32 * vec2(f32(index), sin(params.time + f32(index) * .1));
234+
let space = spaceRatio * vec2(f32(index), 0);
235+
messageStringMask += sprite(font, textImageSampler, space + messagePosition + charPosition, textUVR, charIndex - charOffset, charSize).x;
236+
}
231237
232238
233239
var equiTriUV = uvr_minus_center / .156; // .31
@@ -302,7 +308,7 @@ fn main(
302308
// let finalColor = layer(bg, audioWave);
303309
// let finalColor = vec4f(1,s,0,1);
304310
305-
return finalColor;
311+
return finalColor + (messageStringMask * vec4(1 * fusin(.132) , 1 * fusin(.586) ,0,1) * params.showMessage * .1);
306312
// return vec4(st, 0, 1);
307313
}
308314
`;

0 commit comments

Comments
 (0)