Kaptein Snus Skrevet 2. mai 2010 Del Skrevet 2. mai 2010 (endret) Har tenkt litt på å starte med programmering av enkle spill i c++ og har et par spørsmål. Er snakk om windowsprogrammering i Visual C++, selv om jeg har linux avatar 1) Hva er forskjellen mellom disse 3 rammeverkene? Fordeler, ulemper? 2) Er noen å anbefale fremfor andre? (Er ganske nybegynner..) Takker på forhånd! Endret 2. mai 2010 av Lek1 Lenke til kommentar
GeirGrusom Skrevet 3. mai 2010 Del Skrevet 3. mai 2010 Selv er jeg en OpenGL person, men DirectX er absolutt noe som er verdt å se på, blant annet ved å ha innebygget en rekke ting som du må finne andre steder til OpenGL. For eksempel 2D rendring (som gjøres med Direct2D i DX) DarkGDK er vel et spill API som sannsynligvis bruker OpenGL, og er ikke egentlig en konkurrent til OpenGL og Direct3D. Men kort: OpenGL Fordeler: - Relativt kryssplattform, ihvertfall med GLUT - Enkelt i bruk, og lett å lære - Fungerer i nær sagt alle programmeringsspråk Ulemper: - Svært mye programkode må skrives selv eller hentes fra tredjepartsbiblioteker - Mye legacy kode, som for eksempel wgl gjør enkelte ting mer komplekse enn det burde vært. Eksempelvis dersom du vil lage et OpenGL 3 context, må du først lage en OpenGL 2 context, og bygge en ny derfira. Enda mer komplisert er dersom du ønsker multisampling, fordi det krever at du lager en context for å få tak i wglChoosePixelFormat som kan finne pixel formats som støtter multisampling. DirectX Fordeler: - Objektorientert - Mye er laget for deg på forhånd, matrisefunksjoner, quaternions etc. - Ikke bakoverkompatibelt, som fører til lite legacy kode Ulemper: - Fungerer kun på Microsoft plattformer - Fungerer native kun i C++ - Ikke bakoverkompatibelt, som fører til at mange ting må skrives mer eller mindre på nytt ved nye versjoner. Blant annet er point sprites fjernet i DirectX 10 til fordel for geometry shaders. Selv om det er en god idé, så blir problemet at gamle programmer som brukte point sprites må lage dette systemet på nytt igjen. Merk at DirectX ikke egentlig er konkurrent til OpenGL, men til Dark GDK og SDL. OpenGL er kun et 3D/2D grafikk API, og har ingen funksjoner for lyd, musikk, input og nettverk. Du vil møte ting som irriterer deg i alle disse rammeverkene. For eksemepl synes jeg at Direct3D kan være mer komplisert å sette opp enn det burde, og det gjelder forsåvidt OpenGL 3.x også. Lenke til kommentar
Kaptein Snus Skrevet 3. mai 2010 Forfatter Del Skrevet 3. mai 2010 Heftig! Tusen takk for utfyllende svar Må sette meg litt mer inn i dette og se på eksempelkode før jeg bestemmer meg, men fikk en god pekepinn på hva dette er for noe, for har ikke peiling Lenke til kommentar
Kaptein Snus Skrevet 3. mai 2010 Forfatter Del Skrevet 3. mai 2010 Har sett litt på SDL også.. Noen tanker rundt SDL som kan være nyttig for meg å vite? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå