Size: a a a

pro.graphon (and gamedev)

2020 July 16

АК

Антон Ковалев... in pro.graphon (and gamedev)
выравнивание буферов в waveout значит говно
источник

d

disba1ancer in pro.graphon (and gamedev)
Антон Ковалев
выравнивание буферов в waveout значит говно
выравнивание?
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
UsernameAK
кто такой OMSetRenderTargets
на мсдн хорошо написано
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
disba1ancer
выравнивание?
ну да, у него всегда с ним проблемы были
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
у меня даже в рипере на вейвоуте с 250мс пердеж иногда был
источник

U

UsernameAK in pro.graphon (and gamedev)
Антон Ковалев
на мсдн хорошо написано
я так понял это ставит куда рисовать?
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
UsernameAK
я так понял это ставит куда рисовать?
да, это же бинд рендер таргета с дофом
источник

d

disba1ancer in pro.graphon (and gamedev)
видать так и придётся за нормальным апи идти
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
disba1ancer
видать так и придётся за нормальным апи идти
та SDL Mixer заюзай и забей
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
ибо писать свой аудио движок - это почти как писать свой рендер
источник

d

disba1ancer in pro.graphon (and gamedev)
Антон Ковалев
та SDL Mixer заюзай и забей
а так нормально делать, чтобы синусоиды дробной частоты нормально играли?:
float generateSample(int iSecond, float fSecond) {
 auto freq = 262.63f;//
 auto t = iSecond * fract(freq);
 return std::sin((fSecond * freq + t) * 2 * PI)/* * std::exp(-3.0 * fSecond)*/;
}
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
disba1ancer
а так нормально делать, чтобы синусоиды дробной частоты нормально играли?:
float generateSample(int iSecond, float fSecond) {
 auto freq = 262.63f;//
 auto t = iSecond * fract(freq);
 return std::sin((fSecond * freq + t) * 2 * PI)/* * std::exp(-3.0 * fSecond)*/;
}
а зачем тебе fract?
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
у меня в либе где-то код для генерации синуса
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
  //  Test function for generating float sin (300 to 600 Hz)
 static bool state = false;
 static fr_f32 phase = 0.f;
 static fr_f32 freq = 150.f;
 fr_f32* pBuf = (fr_f32*)pByte;
 for (size_t i = 0; i < AvailableFrames * CurrentChannels; i++) {
   if (freq >= 600.f / CurrentChannels) state = !state;
   pBuf[i] = sinf(phase * 6.283185307179586476925286766559005f) * 0.1f;
   phase = fmodf(phase + freq / SampleRate, 1.0f);
   freq = !state ? freq + 0.001f : freq - 0.001f;
   if (freq <= 300.f / CurrentChannels) state = !state;
 }
источник

d

disba1ancer in pro.graphon (and gamedev)
Антон Ковалев
а зачем тебе fract?
чтобы точность не так сильно терялась, после умножения на количество секунд
источник

S

Stas in pro.graphon (and gamedev)
/rules
источник

S

Stas in pro.graphon (and gamedev)
А. Окей. А что тогда этот бот умеет?
источник

ダコ

ダン コデル in pro.graphon (and gamedev)
/isitblocked@FailsBot sankakucomplex.com
источник

d

disba1ancer in pro.graphon (and gamedev)
Антон Ковалев
  //  Test function for generating float sin (300 to 600 Hz)
 static bool state = false;
 static fr_f32 phase = 0.f;
 static fr_f32 freq = 150.f;
 fr_f32* pBuf = (fr_f32*)pByte;
 for (size_t i = 0; i < AvailableFrames * CurrentChannels; i++) {
   if (freq >= 600.f / CurrentChannels) state = !state;
   pBuf[i] = sinf(phase * 6.283185307179586476925286766559005f) * 0.1f;
   phase = fmodf(phase + freq / SampleRate, 1.0f);
   freq = !state ? freq + 0.001f : freq - 0.001f;
   if (freq <= 300.f / CurrentChannels) state = !state;
 }
у тебя тут частота не дробная
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
disba1ancer
у тебя тут частота не дробная
берешь дробную и все работает
источник