![]() |
Ответ: Russian Sound System
Описание функций бы, а то разбираться на разработке своего примера ''больше отталкивает''. А так хотелось бы для начала побаловаться, а потом уж и использовать.
Или выложи как-нибудь исходник примера блитз, каким бы он не был. |
Ответ: Russian Sound System
Запилил пример. Плюс поправил маленький баг. Все внутри. Исходник примера + бинарник + обновленная библа. Исходник с коментами. Все хорошо собирается в студии.
Пример показывает работу зон с разной реверберацией. И работу "препятствий". Соответственно "ZONE", "OBSTACLE" http://rghost.ru/45893801 |
Ответ: Russian Sound System
Для тех кому лень качать запилил видос.
|
Ответ: Russian Sound System
прикольно, но обстакл имхо очень резкий, чуть высовываешься, и звук резко меняет громкость, плюс кажется будто звук идёт к слушателю по прямой линии, т.е. ты делаешь один рейкаст об обстакл.
|
Ответ: Russian Sound System
Цитата:
Возможно имеет место дифракция... Может быть ее можно реализовать таким способом: сделать 2 бокса, один внутри другого, если луч будет идти через угол и проходить только через внешний бокс значит имеет место дифракция. Возможно автор уже читал, но вот пользователям движка может пригодиться http://www.ixbt.com/multimedia/sound...mes-2003.shtml. Несмотря на 2003 год видимо это до сих пор актуально ( может быть это из-за консолей ? ). Другое дело что в демке действительно странный звук: такое ощущение что сначала срабатывает обстакл, громкость и ВЧ звука снижаются, и только затем к ним применяется эхо или реверберация. Вобщем почему-то эхо заметно приглушается вместе с обстаклом, а не должно. Ведь я так понял движок не настолько сложный, что может к сначала отраженному звуку еще и обстакл применять, для этого слишком много трассировок нужно. По поводу зон: я правильно из контекста понимаю что тут именно AABB а не просто BB? Если это так, то данная реализация бесполезна. На открытых пространствах зоны применять негде, а вот для комнат они бы подошли - комнаты обычно действительно с прямыми углами, но далеко не всегда выровнены по мировым осям, так что однозначно нужны просто BB. Тоже самое относится к обстаклам, там даже можно сделать поддержку мешей. Разработчики игр могут использовать для обстакла теже упрощенные меши что делают для физики. Цитата:
|
Ответ: Russian Sound System
Чую я, что надо запиливать wavetracing\raycasting. Все эти выкрутасы с AABB и просто BB ни к чему не приведут.
На гамедеве.нет мне один чувак кинул ссыль на свой университетский проект. http://gamma.cs.unc.edu/GSOUND/ |
Ответ: Russian Sound System
В общем. Я начал пилить движок.
За недельку запилил простенький DSP( digital signal processing, цифровая обработка сигналов ). Что поддерживается? 1) Вывод звука через directsound - просто вывод во вторичный буфер, без использования фич directsound'a. 2) Программное микширование. 3) Изменение частоты воспроизведения( pitching ) 4) Загрузка ogg, wav. 5) Панорамирование ( баланс между левым и правым динамиком ) 6) Изменение громкости 7) Фильтрация - перестраиваемый ФНЧ ( фильтр низких частот ) - программно регулируем частоту отсечки - от 50 Гц до 21000 Гц Архитектура такова. Звуковой буфер с PCM -> Звук 1 -> Микшер -> DirectSound ________________________...... -> ______________________Звук n -> Кому интересно могу скинуть демку. |
Ответ: Russian Sound System
Цитата:
|
Ответ: Russian Sound System
http://rghost.ru/46109904
исходник "движка" в комплекте. выпилил пока поддержку ogg откомпиль сам, и сможешь поиграться с микшером и фильтрами и всем что есть кароч |
Ответ: Russian Sound System
Ну нормально работает, только я немного изменил чтобы на gcc скомпилировать. Хотя латентность большая, нажимаешь кнопку - ничего не происходит, а потом параметр сразу меняется на большое значение. А еще через некоторое время сбрасывается в дефолт.
Получается ты будешь все программно реализовывать? А нужно ли велосипед изобретать? Тем более аппаратное ускорение ( если оно доступно ) тоже важно. К тому же если будет привязка в dsound то как же переносимость? Мне кажется правильным решением будет работать поверх OpenAL, а специфические механизмы трассировки реализовать отдельным софтварным модулем ( с поддержкой simd можно ). |
Ответ: Russian Sound System
Цитата:
http://rghost.ru/46145531 Цитата:
Привязки к dsound не будет. Для линукса будет свой SoundOutputDevice. Если не сложно - кинь пару статей по звуку в линуксе. Я только начал изучать программную обработку звука и не хочу останавливаться. Насчет велосипеда. Такой велик очень большая редкость. Это не графический двиг, который пилит каждый кому не лень. Работа поверх OAL дикий оверхед. Так что нет спасибо. |
Ответ: Russian Sound System
Все проблемы с DSP подчищены.
Запилил объемный звук ( то бишь 3Д!!!!111адинадин). Появился соответственно класс - слушатель( listener ). Демку планирую сделать к выходным. Но обещать не могу ибо - СЕССИЯ БЛИЗКО! |
Ответ: Russian Sound System
Попробовал интегрировать коды звукового движка в одно 3д приложение - не особо здорово.
Во первых неудобно то что mixSound нужно вызывать непрерывно, в то время как логично его обновлять каждую итерацию (например каждый кадр). Во вторых через каждые полсекунды-секунду (видимо когда происходит обновление буфера) приложение застревает. Тоже не круто. В общем то оба неудобство можно исправить если вынести звук в отдельный поток, но имхо лучше сначала найти способ более плавного кода без усложнения многопоточностью. Есть кстати какие-нибудь наработки с последнего релиза? |
Ответ: Russian Sound System
Цитата:
|
Ответ: Russian Sound System
Цитата:
Мне вообще самому интересно насчет возможностей софтварного звука. Посмотрю чего тут можно сделать. Есть например идея насчёт HDR звука. |
Часовой пояс GMT +4, время: 17:25. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot