Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Звуковой движок игры


NailMan ©   (2003-06-16 18:03:00) 

Люди, а чем вы пользуетесь для сабжа?

Пишете свою обертку для DirectSound(3D) или юзаете левые обертки типа BASS?

Я вот сейчас думаю писать на чистом DSound3D, тоесть делать свою обертку с возможнстью ремапа на A3D 2.0.

Как вам такое? Пробовал кто-нить писать такой движок? Есть ли какие трудности с совмещением этих API?


NailMan   (2003-06-17 10:47:00) [1]

To -> cyborg ©
Что такое ремап?
Ну это когда делаешь описание функции:

PlaySound : Procedure (fn: String);
А в 2-х DLL описаны функции с описанием с Procedure PlaySound(fn: String);, которые играют звук на разных API.
Типа цепляешь динамически нужную DLL при загрузке игры и ремаппишь на соответсвующую функцию в DLL:
hdll := LoadLibrary(pchar(fn));
PlaySound := GetProcAddress(hdll, "PlaySound");


Я так сделал математику, типа в UTMath_AMD.dll часто юзаемые функции математики(SIN, COS, VecNormalize, VecCross, SQRT) написаны на 3DNow!(стандартные мат.ф-ции взяты из 3dnow! SDK), а в UTMath_Generic.dll все эти функции написаны на обычных дельфевских аналогах.

Вот на таком принципе я и хочу сделать звуковой движок, только в DLL для A3D все будет на чистом A3D API, а вот с Generic-овым DSound-ом(если звуковуха не Vortex2) думаю - или реализовывать PlaySound через BASS или чего-то похожее(хотя он более приоритетен, так как юзаю пока его) или писать на чистом DSound3D, что кажется более грамотным, но и более геморным.


To -> Плохой человек
А чем плохо?
Обортка тем и плоха что иногда она становится очень неудобной, и собсно является более медленной, а иногда просто безбожно глюкает.

Вот к пример с BASS 1.6 у меня есть такой косяк - почему-то он не возвращает мне нормально его внутренний DirectSound-овый интерфейс, тоесть он его возвращает, но когда я с ним поработав делаю его :=nil;, то вылетает забавные AccessViolation и весь DirectSound откровенно валится медным тазиком до перезагрузки компа.

Вот я и хочу узнать и посоветоваться что лучше юзать или есть ли какие нормальные и функциональные обертки DSound3D, без всяких лишних предподвыподвертов.


Плохой человек   (2003-06-16 23:42:00) [2]

>юзаете левые обертки типа BASS?

А чем плохо?


Omar2002   (2003-06-16 22:17:00) [3]

Ну блин, закидали абривиатурами и терминами. :)

Почти ниче не понял.


cyborg   (2003-06-16 22:08:00) [4]

Пока довольствуюсь FMOD, но уже заглядываюсь на DirectSound.

Что такое ремап?


Наверх

Титульная страница Поиск, карта сайта Написать письмо