Az Openal Története Nyílt Forráskód És Nyílt Szabványok

Az Openal Története Nyílt Forráskód És Nyílt Szabványok

Szaktekintély artva Az OpenAL története Nyílt forráskód és nyílt szabványok. A Loki egyik ingyenes programfejlesztésének áttekintése. Loki Entertainment Software-nél windowsos játékfejlesztõk egy jó darabig rosszabbul alakulni – az idõszakot jól jellem- t. Minden jog fennt sokféle programmal foglalkozunk, nyugodtan dolgozhattak a meglévõ fejlesz- zi, hogy akkoriban a Microsoft nem jelentette a szabadon terjeszthetõtõl kezdve tõkörnyezetek segítségével. meg a DirectSound3D NT-s változatát. Aa BSD-szerzõdéses forráskódon és a GPL, A Linux-felhasználók helyzete sajnos ked- A hangkártyák piacvezetõjeként ismert LGPL elvei szerint terjeszthetõ szabad prog- vezõtlenebb volt. A hangkártyák körében Creative-nak ezzel egy idõben kellett szem- ramokon át a zárt forrású alkatrészmeghaj- szabványosnak tekinthetõ SB16-hoz illesz- benéznie az Aureal nevû – a térbeli hangzás tókig minden megfordul nálunk. Természe- kedõ meghajtó már megbízhatóan mûkö- PC-s megvalósítását célul kitûzõ – céggel. © Kiskapu Kf tesen gépikódokat is írunk. A Linuxra dött, és a PCI-os hangkártyák is meglepõen Az Aureal a „hullámkövetés” (wavetracing) átültetett játékaink nem mindegyike nyílt nevû eljárást helyezte fejlesztései közép- forrású, de saját, ingyen terjesztett munkánk pontjába. Ennek lényege, hogy a tér tulaj- a Fenris, a Setup, az SMPEG vagy az SDL donságait, amelyben a hang megszólal, programokban is megtalálható. átadjuk a hangkártya meghajtójának. Fontos Miután sokszínû tevékenységünk során megjegyeznünk, hogy a grafikával ellentét- találkozunk a szabad és a nyílt forrású prog- ben a hangmódszerek a mai napig is fõleg ramok iránt elkötelezett alkotókkal is, így programból megvalósított megoldásokra saját véleményünk és irányelveink is módo- épülnek. A fejlesztõkörnyezetek (Miles sultak. Egyik fejlesztésünk például abból a Sound System, QMixer) és az egymással felismerésbõl született, hogy a nyílt, jól leírt versengõ alkatrészmeghajtók jelentik a szabványokra van a legnagyobb szükség. bizonyítékot erre. Az Aureal elõnye a szi- Ez a fejlesztés az OpenAL volt, melynek mulációkkal, korai visszaverõdések keze- története jó iskolapélda arra nézve, hogy lésével és a hatásfok javításával kapcsolatos milyen fontosak a szabványok – és hogy korábbi tapasztalataiban rejlett. Fejlesztéseit milyen nehéz megvalósítani õket. azonban hátráltatta a PC-s piac, ahol álta- lánosan jellemzõ a „Na, vegyünk két ó’csó Versenyhelyzet hangszórót is a masinához!” típusú hozzá- A Heretic 2 és a Heavy Gear 2 linuxos vál- állás. A minõségi hangfeldolgozás átköl- tozata esetében a Loki mérnökei új hang- töztetése egy olyan rendszerre, ahol hagyo- www.gdmag.com hatásokkal kezdtek el dolgozni, ezek mányosan sem a fejlesztõk, sem pedig a messze felülmúlták a „balról vagy jobbról felhasználók nem törõdtek a térbeli hang- hallom?” típusú játékok hangjait. A Heretic zással, eleve vesztésre álló játszmának tûnt. 2 a hangkártyákat gyártó cégek számára is Mindezek ellenére az Aurealnak sikerült számos újdonsággal szolgált: az Aureal valamit elérnie: felkeltette a felhasználók A3D-jének és a Creative EAX-jának támo- érdeklõdését a jobb térbeli hangzású játé- gatását is megkaptuk. Abban az idõben kok iránt. Az elsõ érdeklõdõk számára ez új mindkét gyártó túllépett a DirectSound3D jól mûködtek Linux alatt. A legfõbb hiá- hirdetési lehetõséget jelentett, és hamarosan lehetõségein, de teljesen különbözõ irá- nyosság azonban az volt, hogy a kártyák minden játékfejlesztõ megpróbált lépést nyokban haladva kívánta megvalósítani legújabb lehetõségeit sem az OSS, sem tartani velük. A komoly fejlesztési tervekkel a térbeli hangzást. A három API közé szo- pedig az ALSA alkalmazásával nem lehe- bíró Creative visszavágásképpen saját kár- rított windowsos játékfejlesztõk (és akkor tett kihasználni. tyáinak bõvített lehetõségeit hangsúlyozta a Windows alatt elérhetõ számos hangfej- Az Apple-felhasználók számára fejlesztõ – ezek alapját egy egyszerûbb módszer, lesztõ környezetet még nem is vettük figye- programozók hasonló helyzetben találták a kései visszaverõdések valószínûségi zen- lembe) inkább nem okoztak maguknak magukat: bár a Mac OS multimédiás API-jai getéssel megvalósított utánzása képezte. további fejfájást, és kihagyták a térbeli összetettebbek és befejezettebbek voltak A korai és kései visszaverõdésekre alapuló hangzást a programokból (vagy esetleg linuxos testvéreiknél, ennek ellenére a megoldások kiegészítik egymást, az API-k egy-egy fejlesztõkörnyezet lehetõségeitõl DirectSound szabványt még annyira sem és azok megvalósításai azonban teljesen vérszemet kapva mégis belevetették magu- támogatták, és az EAX, A3D lehetõségei is különbözõek voltak. A Creative pedig jól kat a téma kidolgozásába). Itt léptek közbe ismeretlenek voltak arrafelé. A windowsos választott: az EAX egyszerûbben használ- a gyártók: sokan közülük kiegészítõkkel fejlesztõk számára fontos volt a programok hatónak bizonyult, és a valószínûségi zen- (EAX, A3D) siettek a kártyák tulajdonsá- hordozhatósága, egy csodálatos, rengeteg getés megfelelõbb megoldás volt az amúgy gait jobban kihasználni igyekvõ progra- lehetõséggel bíró hangkörnyezetet kaptak, sem a csúcsminõségû hangrendszerekrõl mozók segítségére. Ekkor került egyre melyhez azonban nem tartozott hordozható híres PC-s piac számára. több játék dobozára a „Térbeli hangzás” API. Mivel a két másik résztvevõ teljesen Természetesen mindkét vállalat odafigyelt (Spatialized 3D sound) felirat, és a más utakat járt be, a dolgok kezdtek egyre a Linuxra is. Az Aureal kidolgozott egy 98 Linuxvilág Szaktekintély A2D névre keresztelt rendszert, mely az foglalkoztak volna, mint a DirectSound3D Talán nagyobb egyetértésre lett volna szük- A3D használatát tette lehetõvé más gyártók idejében. Néhányan különleges, kifinomult ség, de a bukás fõ oka az volt, hogy senki kártyáin. Ez alapját képezhette volna akár OOP-megoldásokat szerettek volna az API- nem tudta igazán, hogy mi ennek az egész- artva egy nyílt forrású környezetnek is. Az Aureal ban látni, míg mások beérték volna valami nek a célja. Ráadásul a hangkártyák tucat- kódbázisa hatékony volt, gépi kódban író- egyszerûbb, általánosabban használhatóval nyi új lehetõségét is kezelni kellett volna. dott, és ez a Linuxra történõ átvitelt kissé is. A kezdeti lelkesedés ellenére e véle- Ez utóbbi végül is kétszer buktatta meg megnehezítette volna. A Creative, linuxos ménykülönbségek miatt csupán néhány fej- az OpenAL-t. 1999-ben a lista feltámadása programozók egy csapatával, meghajtók lécfájl és egy, az elveket tartalmazó leírás látszott körvonalazódni: a Game Developer fejlesztésébe fogott, és az EAX linuxos készült el, és a fejlesztés félbeszakadt. Magazine májusi számában Jonathan Blow megvalósításában látta a jövõt. Mindkét cikke melletti oldalhasábon Terry Sikes API a Microsoft DirectX és COM rendsze- (az OpenAL leírás szerzõje) és jómagam reinél érvényes ajánlások figyelembevéte- az OpenAL céjait ismertettük. Akkoriban t. Minden jog fennt lével íródott, de az Aureal téralapú A3D az Aurealnál egy javított, hordozható A3D API-jának tervezésénél az OpenGL-bõl kifejlesztésén gondolkodtak, mi pedig is vettek át ötleteket. Itt léptek a képbe leírtuk, hogy az OpenAL képes lesz az a játékfejlesztõk. OpenGL-lel való közvetlen együttmûkö- désre, fõleg a térgeometriai adatok feldol- A nehéz kezdetek gozását illetõen. Sem az Aurealnál, sem © Kiskapu Kf Az EAX és az A3D elõtt néhány játékfej- pedig az OpenAL levelezõlistán nem tör- lesztõ egy hordozhatóbb hangrendszer tént semmi változás a cikk hatására, és az megvalósításán törte a fejét. Az OpenGL- állóvizet csak a Loki 1999 végén történõ GameDev levelezõlista, melyen a hordoz- beszállása kavarta föl. ható kódok írásával foglalkozó fejlesztõk A Heretic 2 és a Heavy Gear 2 fejlesztése fõ fóruma 1998-ban egy új listát indított akkoriban kezdõdött, és mivel nem voltunk egy új, nyílt forrású hangkönyvtár megszü- (sõt, igazság szerint most sem vagyunk) letéséért. A lista neve – az OpenGL mintá- abban a helyzetben, hogy az EAX-ot vagy jára – OpenAL lett. Egyre több javaslat az A3D-t támogassuk, nyilvánvalóvá vált, érkezett a listára, de hamar kiderült, hogy szinte mindenkinek másra lenne szüksége. Néhány listatagot csak a zene és a zene- szerzés érdekelt, õk fõleg programból meg- valósított hangképzéssel foglalkoztak azelõtt. Mások csak a térbeli hangzással hogy valamiféle megoldásra van szükség. Mindenképpen szerettük volna megvalósí- tani a DirectSound3D lehetõségeit (távol- ságérzékelés, Doppler-hatás, térbeli hangzás, hangmagasság- és iránykúpok) Linux alatt is. Ezenkívül természetesen célszerû volt a Creative-nál ás az Aurealnál érdeklõdni a linuxos meghajtók felõl. A Loki az eredeti OpenAL fórumon közelítette meg a fejlesz- tõket, felállított egy levelezõlistát, majd Joseph I. Valenzuelát megbízta az elsõ ele- mek kifejlesztésével, majd mindhárman www.linuxvilag.hu 2001. február–március 99 Szaktekintély munkához láttunk. Michael Vance (a Heavy Group (IASIG) pedig nem kívánt az API-k fejlesztõhöz hasonlóan) a Win32 OpenAL Gear 2 fõ programozója) és jómagam szabványosításában részt venni. A Loki min- alkatrész-támogatással rendelkezõ meghajtói- (a Heretic 2-n dolgoztam) elemeztük az dent elkövetett azért, hogy a szabvány és a nak megjelenésére várnak. Mára szinte artva eredeti OpenAL vitafórumot és a létezõ megvalósítás ne csak a rövid távú igények- az összes OpenAL-t használó játék Linuxra javaslatokat. Számos döntés meghozatalakor nek feleljen meg, mi pedig bíztunk a fejlesz- íródott, de remélhetõleg nemsokára más figyelembe vettük a régi hibákat, például tés nyílt természetében (mi másért

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us