Lisää Petrin siivotun shaderin

FFT ohjaa hexojen korkeutta
Ylimääräiset tavarat siivottu random.frag tiedostoon
syncs[0] aika sekunteina
This commit is contained in:
2025-07-15 14:20:38 +03:00
parent 3fcd960c9c
commit cc6619f9a0
5 changed files with 1106 additions and 41 deletions

View File

@ -169,9 +169,12 @@ int __cdecl main(int argc, char* argv[])
HRESULT hr = IDirectSoundBuffer_Lock(direct_sound_buffer, 0, FFT_SIZE * sizeof(SUsample), &audio_ptr, &audio_size, NULL, NULL, DSBLOCK_FROMWRITECURSOR);
if (SUCCEEDED(hr) && audio_ptr) {
SUsample* samples = (SUsample*)audio_ptr;
for (int i = 0; i < FFT_SIZE; ++i) {
fft_input[i] = (float)samples[i];
if (playCursor < ((SU_LENGTH_IN_SAMPLES * SU_CHANNEL_COUNT * SU_SAMPLE_SIZE) - (FFT_SIZE* SU_CHANNEL_COUNT * SU_SAMPLE_SIZE)))
{
SUsample* samples = (SUsample*)audio_ptr;
for (int i = 0; i < FFT_SIZE; ++i) {
fft_input[i] = (float)samples[i];
}
}
IDirectSoundBuffer_Unlock(direct_sound_buffer, audio_ptr, audio_size, NULL, 0);
@ -183,15 +186,15 @@ int __cdecl main(int argc, char* argv[])
// Normalize output
for (int i = 0; i < (FFT_SIZE / 2); i++)
{
maximum = max(fft_output[i], maximum);
fft_output[i] = fft_output[i] / maximum;
//maximum = max(fft_output[i], maximum);
//fft_output[i] = fft_output[i] / maximum;
if (i < (FFT_SIZE / 4)) // Limit uniform fft size. High frequencys contain nothing interesing.
{
fft_uniform[i] = fft_output[i];
fft_uniform[i] = min(1.0,fft_output[i]*20.0);
}
}
syncs[0] = (float)playCursor / (2 * sizeof(SUsample));
syncs[0] = (float)playCursor / (SU_SAMPLE_RATE * SU_CHANNEL_COUNT * SU_SAMPLE_SIZE); // Aika sekunteina.
for (int i = 0; i < SU_NUMSYNCS; ++i)
{