Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты C++

Ответ
 
Опции темы
Старый 10.05.2013, 04:15   #61
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: Russian Sound System

Описание функций бы, а то разбираться на разработке своего примера ''больше отталкивает''. А так хотелось бы для начала побаловаться, а потом уж и использовать.

Или выложи как-нибудь исходник примера блитз, каким бы он не был.
(Offline)
 
Ответить с цитированием
Старый 10.05.2013, 16:28   #62
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: Russian Sound System

Запилил пример. Плюс поправил маленький баг. Все внутри. Исходник примера + бинарник + обновленная библа. Исходник с коментами. Все хорошо собирается в студии.

Пример показывает работу зон с разной реверберацией. И работу "препятствий". Соответственно "ZONE", "OBSTACLE"

http://rghost.ru/45893801
__________________

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
LLI.T.A.L.K.E.R. (10.05.2013), Samodelkin (12.05.2013)
Старый 11.05.2013, 21:57   #63
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: Russian Sound System

Для тех кому лень качать запилил видос.
__________________

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
is.SarCasm (21.05.2013), Mr_F_ (11.05.2013)
Старый 11.05.2013, 22:11   #64
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Russian Sound System

прикольно, но обстакл имхо очень резкий, чуть высовываешься, и звук резко меняет громкость, плюс кажется будто звук идёт к слушателю по прямой линии, т.е. ты делаешь один рейкаст об обстакл.
(Offline)
 
Ответить с цитированием
Старый 12.05.2013, 21:08   #65
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 978
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Russian Sound System

плюс кажется будто звук идёт к слушателю по прямой линии, т.е. ты делаешь один рейкаст об обстакл
Потому что это обстакл. Здесь и должен быть один проброс луча - от источника к слушателю. Если он проходит через препятствие, то в зависимости от материала, он либо проходит частично и звук заглушается ( обычно высокие частоты ), либо вообще не проходит. То что идет не по прямой от источкника к слушателю это уже эхо.

Возможно имеет место дифракция... Может быть ее можно реализовать таким способом: сделать 2 бокса, один внутри другого, если луч будет идти через угол и проходить только через внешний бокс значит имеет место дифракция.

Возможно автор уже читал, но вот пользователям движка может пригодиться http://www.ixbt.com/multimedia/sound...mes-2003.shtml. Несмотря на 2003 год видимо это до сих пор актуально ( может быть это из-за консолей ? ).

Другое дело что в демке действительно странный звук: такое ощущение что сначала срабатывает обстакл, громкость и ВЧ звука снижаются, и только затем к ним применяется эхо или реверберация. Вобщем почему-то эхо заметно приглушается вместе с обстаклом, а не должно. Ведь я так понял движок не настолько сложный, что может к сначала отраженному звуку еще и обстакл применять, для этого слишком много трассировок нужно.

По поводу зон: я правильно из контекста понимаю что тут именно AABB а не просто BB? Если это так, то данная реализация бесполезна. На открытых пространствах зоны применять негде, а вот для комнат они бы подошли - комнаты обычно действительно с прямыми углами, но далеко не всегда выровнены по мировым осям, так что однозначно нужны просто BB. Тоже самое относится к обстаклам, там даже можно сделать поддержку мешей. Разработчики игр могут использовать для обстакла теже упрощенные меши что делают для физики.

Софтварную реверберацию запилить не сложно. Но нужно ли? Creative же сделала эмуляцию EAX'a.
С точки зрения пользователя неважно реализована ли она на уровне движка или EAX, главное чтобы пользователь мог, подключив только ProjectF, использовать его на звуковых картах с аппаратной и без поддержки EAX. Лучше если будет единый код, который абстрагирован от технологий реализации. Например пользователь задает параметры эха и реверберации для зоны, материалов для обстакла и т п, а движок уже сам решает как и с помощью чего это воспроизвести, да возможо на софтваре будет хуже качество или не будет каких то эффектов, но пользовательский код от этого не изменится.

mr.DIMAS, по хедеру могу заметить что у тебя весьма хороший стиль форматирования кода, читается легко, чем то напоминает мне конвенцию кодирования idSoftware. Я тоже эту конвенцию ( немного модифицированную ) использую.
(Offline)
 
Ответить с цитированием
Старый 13.05.2013, 00:26   #66
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: Russian Sound System

Чую я, что надо запиливать wavetracing\raycasting. Все эти выкрутасы с AABB и просто BB ни к чему не приведут.

На гамедеве.нет мне один чувак кинул ссыль на свой университетский проект. http://gamma.cs.unc.edu/GSOUND/
__________________

(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
LLI.T.A.L.K.E.R. (20.05.2013), Mr_F_ (13.05.2013), Samodelkin (13.05.2013)
Старый 19.05.2013, 14:19   #67
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Счастье Ответ: 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 ->

Кому интересно могу скинуть демку.
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (19.05.2013)
Старый 19.05.2013, 17:02   #68
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 978
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Russian Sound System

Кому интересно могу скинуть демку.
Да, давай я посмотрю.
(Offline)
 
Ответить с цитированием
Старый 19.05.2013, 17:08   #69
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: Russian Sound System

http://rghost.ru/46109904

исходник "движка" в комплекте. выпилил пока поддержку ogg

откомпиль сам, и сможешь поиграться с микшером и фильтрами и всем что есть кароч
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (19.05.2013)
Старый 21.05.2013, 02:47   #70
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 978
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Russian Sound System

Ну нормально работает, только я немного изменил чтобы на gcc скомпилировать. Хотя латентность большая, нажимаешь кнопку - ничего не происходит, а потом параметр сразу меняется на большое значение. А еще через некоторое время сбрасывается в дефолт.

Получается ты будешь все программно реализовывать? А нужно ли велосипед изобретать? Тем более аппаратное ускорение ( если оно доступно ) тоже важно. К тому же если будет привязка в dsound то как же переносимость? Мне кажется правильным решением будет работать поверх OpenAL, а специфические механизмы трассировки реализовать отдельным софтварным модулем ( с поддержкой simd можно ).
(Offline)
 
Ответить с цитированием
Старый 21.05.2013, 03:04   #71
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: Russian Sound System

Ну нормально работает, только я немного изменил чтобы на gcc скомпилировать. Хотя латентность большая, нажимаешь кнопку - ничего не происходит, а потом параметр сразу меняется на большое значение. А еще через некоторое время сбрасывается в дефолт.
Да такие проблемы были. Теперь все устранено. На кнопках [1]-[5] значения ФНЧ 50-500-5000-10000-15000 Гц. На стрелках баланс и скорость воспроизведения.

http://rghost.ru/46145531

Получается ты будешь все программно реализовывать? А нужно ли велосипед изобретать? Тем более аппаратное ускорение ( если оно доступно ) тоже важно. К тому же если будет привязка в dsound то как же переносимость? Мне кажется правильным решением будет работать поверх OpenAL, а специфические механизмы трассировки реализовать отдельным софтварным модулем ( с поддержкой simd можно ).
Да, буду делать программно с SIMD'ом. Аппаратное ускорение не так важно для звука, как для графона.

Привязки к dsound не будет. Для линукса будет свой SoundOutputDevice. Если не сложно - кинь пару статей по звуку в линуксе. Я только начал изучать программную обработку звука и не хочу останавливаться.

Насчет велосипеда. Такой велик очень большая редкость. Это не графический двиг, который пилит каждый кому не лень.

Работа поверх OAL дикий оверхед. Так что нет спасибо.
__________________

(Offline)
 
Ответить с цитированием
Старый 22.05.2013, 01:51   #72
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: Russian Sound System

Все проблемы с DSP подчищены.

Запилил объемный звук ( то бишь 3Д!!!!111адинадин). Появился соответственно класс - слушатель( listener ). Демку планирую сделать к выходным. Но обещать не могу ибо - СЕССИЯ БЛИЗКО!
__________________

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
impersonalis (18.07.2013), Samodelkin (22.05.2013)
Старый 01.03.2014, 15:35   #73
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 978
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Russian Sound System

Попробовал интегрировать коды звукового движка в одно 3д приложение - не особо здорово.

Во первых неудобно то что mixSound нужно вызывать непрерывно, в то время как логично его обновлять каждую итерацию (например каждый кадр).

Во вторых через каждые полсекунды-секунду (видимо когда происходит обновление буфера) приложение застревает. Тоже не круто.

В общем то оба неудобство можно исправить если вынести звук в отдельный поток, но имхо лучше сначала найти способ более плавного кода без усложнения многопоточностью.

Есть кстати какие-нибудь наработки с последнего релиза?
(Offline)
 
Ответить с цитированием
Старый 01.03.2014, 17:12   #74
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: Russian Sound System

Сообщение от Samodelkin Посмотреть сообщение
Попробовал интегрировать коды звукового движка в одно 3д приложение - не особо здорово.

Во первых неудобно то что mixSound нужно вызывать непрерывно, в то время как логично его обновлять каждую итерацию (например каждый кадр).

Во вторых через каждые полсекунды-секунду (видимо когда происходит обновление буфера) приложение застревает. Тоже не круто.

В общем то оба неудобство можно исправить если вынести звук в отдельный поток, но имхо лучше сначала найти способ более плавного кода без усложнения многопоточностью.

Есть кстати какие-нибудь наработки с последнего релиза?
Про эти косяки знаю. Движок не сдвинулся с места ни на сколько. И это печально.
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (01.03.2014)
Старый 01.03.2014, 17:27   #75
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 978
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Russian Sound System

Сообщение от mr.DIMAS Посмотреть сообщение
Про эти косяки знаю. Движок не сдвинулся с места ни на сколько. И это печально.
Ок.

Мне вообще самому интересно насчет возможностей софтварного звука.

Посмотрю чего тут можно сделать.

Есть например идея насчёт HDR звука.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:35.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com