Gå til innhold

ATI-optimalisering for OpenGL


Anbefalte innlegg

Videoannonse
Annonse

Ser ut til at dette er en litt gammel nyhet, jeg har funnet blogposter om det som ble skrevet i starten på mars, og funksjonen var inkludert allerede i Catalyst 9.1.. 

 

Veldig positivt at AMD/ATI gjør dette, og selv om OpenGL kanskje primært er beregnet for andre ting enn spill for tiden vil dette kanskje få flere utviklere til å tenke seg om en gang til og slippe spill med OpenGL igjen.. Husker i gode gamle dager da man kunne velge om man ville kjøre spillet i DirectX eller OpenGL  :love: Dersom spillindustrien skulle finne på å slippe flere titler med OpenGL, vil det kanskje også bety et betydelig "boost" i Linux-markedet også, siden jobben med å portere et OpenGL-spill er mye, mye enklere (les: billigere) enn å portere DX..

 

*krysse fingrene*

Lenke til kommentar
Gjest Slettet-Pqy3rC

Litt av problemet med å gå over til OpenGL er at DirectX også inneholder lyd og kontroller interface mens OpenGL kun er grafikk.

 

Dessuten er ikke Khronos akkurat kjappe med utvidelser av OpenGL "standarden".

Lenke til kommentar
Litt av problemet med å gå over til OpenGL er at DirectX også inneholder lyd og kontroller interface mens OpenGL kun er grafikk.

 

Dessuten er ikke Khronos akkurat kjappe med utvidelser av OpenGL "standarden".

 

Det er vel som regel OpenAL som brukes for lyd i OpenGL-programmer? GNU/Linux får også en del forbedringer i forhold til tilkoblede enheter i neste Xserver, så selv om programmererne kanskje må lære seg å forholde seg litt annerledes til ting betyr det vel ikke at det er noen ulempe? Og hvis man benytter seg av utviklerverktøy som f.eks. Unity, trenger jo brukeren stort sett bare å forholde seg til programmet, så knytter programmet inn de forskjellige nødvendige komponentene sømløst?

Lenke til kommentar
Veldig positivt at AMD/ATI gjør dette, og selv om OpenGL kanskje primært er beregnet for andre ting enn spill <..>

OpenGL er ikke primært beregnet for andre ting enn spill, det er primært beregnet for 3D grafikk, ganske uavhengig av bruksområde. Det vil si at spill er en del av det primære fokuset til OpenGL.

 

Litt av problemet med å gå over til OpenGL er at DirectX også inneholder lyd og kontroller interface mens OpenGL kun er grafikk.

 

Dessuten er ikke Khronos akkurat kjappe med utvidelser av OpenGL "standarden".

OpenGL er konkurrerer med Direct 3D, ikke DirectX. Sistnevnte er en gruppe-betegnelser på Direct 3D, DirectSound og flere API. Jeg husker ikke samlebetegnelsen som inkluderer OpenGL, OpenAL, OpenCL osv, men det er i hvert fall den som er motstykket til DirectX.

 

Du trenger ikke "" rundt ordet standard. OpenGL er en åpen standard i motsetning til Direct 3D/directX som er et proprietært API. OpenGL er godt oppdatert. F.eks tilsvarer Open GL 3.0 som ble lansert i august i fjor grafikkdelen av Directx 10, mens Open GL 3.1 som ble lansert i mars i år grafikkdelen av DirectX 10.

Lenke til kommentar

Interessant at skribentene endelig får meg seg litt av det som skjer på OpenGL-fronten. Her skjer det stadig noe nytt, og geeks3D dekker mye av det (de dekker Direct3D også selvsagt).

 

Forøvrig bør det nevnes at denne utvidelsen kun gjelder for Windows, den er ikke for GLX eller CGL. Det er mange spennende utvidelser som stadig dukker opp.

 

Litt av problemet med å gå over til OpenGL er at DirectX også inneholder lyd og kontroller interface mens OpenGL kun er grafikk.

 

Dessuten er ikke Khronos akkurat kjappe med utvidelser av OpenGL "standarden".

Har du hørt om SDL?

Ellers kan OpenGL kombineres med OpenAL og OpenCL manuelt.

 

Både AMD/ATI og nVidia kommer nesten hver måned med sine tillegg til OpenGL-spesifikasjonen (i nesten hver nye driver), og noen måneder senere har som oftest konkurrenten implementert det. Og i neste utgave av OpenGL er mange av utvidelsene med. Sånn det er nå, er det cirka et år mellom hver utgave av OpenGL, unntaket var mellom 1.5 og 2.0. Hvis du hevder at OpenGL er dårligere på dette feltet enn DirectX så følger du ikke godt nok med.

Lenke til kommentar

GPU Association is currently available in Catalyst 9.1. The extension specification can be found in the OpenGL extension registry. Soon to follow will be a Linux specific version. With this new tool, applications can fully exploit all of the graphics processing power of the next generation multi-GPU systems.

 

Min utheving.

 

kilde: http://fireuser.com/blog/the_power_of_uber...ociation_exten/

 

 

(wtf? får ikke satt inn lenker via lenke-funksjonen, bruker Opera 10 beta.. oO)

Lenke til kommentar

Noen her som har litt greie på grafikkprogrammering som kan fortelle hvorfor det er en tendens til å kun velge Direct3D support i disse dager? For et tiår tilbake var jo OpenGL the shit mens D3D var svintreigt.

 

Finnes det ikke utviklerverktøy som kan lette på arbeidet med å støtte begge to, og i så tilfelle: hvor mye merarbeid dreier det seg om å støtte OpenGL - og dermed Linux/MacOS osv..

 

For min del høres det ut som utviklerne dummer seg kraftig ut og pisser seg i buksen på grensen til Russland ved å ikke velge åpne standarder da det skaper et avhengighetsforhold til et proprietært format, og dermed gjør det vanskeligere å porte til andre konsoller/fremtidige OS.

Endret av captain_obvious
Lenke til kommentar
Noen her som har litt greie på grafikkprogrammering som kan fortelle hvorfor det er en tendens til å kun velge Direct3D support i disse dager? For et tiår tilbake var jo OpenGL the shit mens D3D var svintreigt.
Det tok ganske lang tid mellom OpenGL 1.5 og 2.0, og det var en haug av tillegg som ikke var en del av spesifikasjonen. I perioden etterpå var det en del rot, som har gitt OpenGL et frynsete rykte, og mange går rundt og mener det samme fremdeles, selv om det ikke stemmer. Og så sponser ikke OpenGL spillutvikling heller.

 

Den perioden da Direct3D var tregt som du tenker på var vel perioden da Glide var populært, nettopp fordi det var enkelt i bruk og gjorde noen forenklinger slik at rendering ble mindre ressurskrevende.

 

Finnes det ikke utviklerverktøy som kan lette på arbeidet med å støtte begge to, og i så tilfelle: hvor mye merarbeid dreier det seg om å støtte OpenGL - og dermed Linux/MacOS osv..
Litt vanskelig å vite hva jeg skal svare på et slikt spørsmål.

Det finnes flere større og mindre spillmotorer som støtter både Direct3D og OpenGL, som Unreal, iD Tech, Ogre og flere.

 

Om du tenker på spillutvikling med egen spillmotor: en god spillmotor vil gjerne ha et godt modulbasert design, og isåfall må bare grafikk-delen skrives om. Det er ikke mulig å bruke et verktøy til å konvertere denne koden, men dyktige fagfolk på området klarer det fint, det tar gjerne noen måneder på store spillprosjekter.

 

Shadere har etter hvert blitt en stor og viktig del av grafikkmotorer, og selv om disse ofte er kompliserte, så er de faktisk mye enklere å konvertere. AMD/ATI tilbyr et verktøy for å gjøre om HLSL(Direct3D) til GLSL(OpenGL). Som dere sikkert vet bruker PlayStation 3 nVidias Cg-shadere, disse kan konverteres til både HLSL og GLSL i nVidias verktøy, så alle PlayStation 3-spill kan relativt enkelt konverteres til OpenGL på PC, og det er ganske mange slike spill. HLSL og GLSL er ganske likt, som er noe av årsaken til at OpenGL og Direct3D har mye av samme funksjonalitet.

 

Om et spill først bruker OpenGL, OpenAL osv. så er det veldig enkelt å konvertere det mellom ulike plattformer, for det er kun nødvendig å tilpasse en liten del av koden til en plattform. Det er det geniale med disse åpne standardene der.

 

Jeg vet ikke om dette svarer helt på spørsmålet.

Men selve spillmotorer lages vel ikke i egne utviklerverktøy, men i vanlige IDE. Koden må for det meste skrives for hånd, og hvilket IDE som brukes har vel liten betydning. (f.eks. Visual Studio, Code::Blocks, Eclipse ...) Når det gjelder andre utviklerverktøy for å lage 3D-modeller, teksturer, terreng, osv. så er de fleste uavhengig av om spillet bruker Direct3D eller OpenGL.

Du for spesifisere om dette ble for uklart.

For min del høres det ut som utviklerne dummer seg kraftig ut og pisser seg i buksen på grensen til Russland ved ikke å velge åpne standarder da det skaper et avhengighetsforhold til et proprietært format, og dermed gjør det vanskeligere å porte til andre konsoller/fremtidige OS.
Ja du sier noe der. Fra og med OpenGL 3.1 så er det nesten ingen grunn til ikke å støtte OpenGL. Ulempen er vel at Xbox så vidt jeg har hørt ikke støtter det, men jeg har ikke studert RSX, så det kan jeg ikke si sikkert, mest sannsynlig er det slått av i software. Men på den andre siden bruker PlayStation 3 og Wii OpenGL, og til sammen utgjør disse langt flere potensielle kunder. I tillegg vil OpenGL på PC føre til at flere kunder kan kjøre spillet på sin maskin, og f.eks. ikke kun på Vista.
Lenke til kommentar

Takk for en bra forklaring. Som jeg trodde er det ikke så vanskelig som man skal ha det til - og mye ligger nok i at m$ igjen ødelegger markedet ved å sponse prosjekter som baserer seg på sin egen motor. Passer jo perfekt sammen med at før hadde man den bedritne D3D støtten enda alle brukte OpenGL, siden det ikke var lagt noen restriksjoner på dette av en innhabil investor, og da tok man seg arbeidet anyways med tanke på kompabilitet og evt. fremtidid nytte???

 

Igjen har vi microsoft som manipulerer markedet til egen vinning, og vi alle står igjen med et avhengighetsforhold uansett hvor mye vi misliker det. Er ihvertfall godt de store FPS motorene som HL, DOOM, QUAKE osv lages av folk som KAN programmere og har egne ressurser kombinert med en viss selvrespekt som gjør at de støtter flere systemarkitekturer.

Lenke til kommentar

Spillmotorer som støtter OpenGL:

* id Tech: Doom 3, Quake 4, Prey, Enemy Territory: Quake Wars... (+ kommende Wolfenstein, ny Prey, Rage og Doom 4)

* Source Engine: Half-Life 2, Team Fortress 2, Left4Dead, Portal ... (flere av titlene finnes for PlayStation 3 som bruker OpenGL ES 2.0)

* Unreal Engine: Unreal Tournament, Bioshock, Rune og et utall flere. Motoren støtter OpenGL, og noen av titlene finnes for GNU/Linux.

* Kommende CryEngine 3 støtter OpenGL.

* Alle spill fra Blizzard kjører OpenGL på Mac.

* Serious Engine: Serious Sam I, II og kommende III.

Og en lang rekke med flere spill.

Alle disse spillene kan relativt enkelt konverteres til å kjøre på både GNU/Linux og Mac OS X, og dermed trolig utvide markedet sitt med rundt 10%, til relativt små utgifter.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...