Войти
ПрограммированиеФорумЗвук

DirectSound и звук в игре

#0
21:51, 12 авг. 2009

В прошлой игре у меня была следующая система:
Для каждого звука в игре (именно звука а не фоновой музыки) загружается wav файл, создается буффер (IDirectSoundBuffer),
лочится и заполняется данными с этого одного wav файла. Ну и потом играется по требованию.
То есть, ничего военного.  Вот только количество загруженных звуков (и буфферов соответственно) превышало 500 штук.
Почему так много? Потому что если нужно проиграть один и тот же звук одновременно (или почти) - его нужно загрузить
в отдельные буффера. Вот например звук стреляющего автомата; есть звук выстрела, грузим его раз 5-7 - и при "стрелянии"
очередью - проигрываем эти звуки по замкнутой очереди. А если такой автомат окажется "в руках"
еще 5-10 ботов, то получим уже до ~50 экземпляров (буфферов) такого звука.
Но с другой стороны меня это вполне утраивало, памяти оно хавает не так много, а быстродействие - я не наблюдал просаживание fps
или что-то в эом роде. Но чувствую что это таки лажа..
И вот хочу спросить, а как это делается правильно, или как это делается в ~серъезных движках?

От звука мне требуется - проиграть/остановить  и задать индивидуально громкость каждому звуку при проигрывании, и все.

ps. Интересно, а какое ограничение на кол-во создаваемых буфферов? В инете нигде этой инфы не встречал.


#1
12:41, 13 авг. 2009

В общем:
имеется набор финальных буферов.
допустим 16-32-64- или больше. Оптимально 96.

Имеем менджер ресурсов у которого запрашиваем необходимые для воспроизведения буферы (указатели на них)
В наборе буферов имеется набор флагов управление, эффектов, текущей позиции в буфере и т.п.
Эффекты (скорость, переходы, и т.п.)
Управление (играть/не играть, флаг залупливания :)))))))))), громкость, pan )
И уже этот набор буферов отдаем hardware на проигрывание.

Прошло более 1 года
#2
17:18, 29 мая 2011

А DuplicateSoundBuffer?

#3
21:50, 29 мая 2011

_Marchello_
Alexey3389 верно написал, Duplicate может создавать не новый буфер, а только новый интерфейс к уже имеющемуся.

#4
1:21, 30 мая 2011

_Marchello_
> ps. Интересно, а какое ограничение на кол-во создаваемых буфферов? В инете
> нигде этой инфы не встречал.

Посмотри капсы.

ПрограммированиеФорумЗвук

Тема в архиве.