Kurt P Skrevet 12. januar 2005 Del Skrevet 12. januar 2005 Jeg må faktisk innrømme at jeg egentlig ikke vet hva forskjellen er? eller hva det faktisk er for noe ? Noen som kan gi meg en fin forklaring? Lenke til kommentar
Xtra Skrevet 12. januar 2005 Del Skrevet 12. januar 2005 OpenGL : OpenGL oversikt Direct3D: Direct3D Har ikke mye kunnskap om det selv, så derfor blir det bare paste and link :!: Lenke til kommentar
jornh71 Skrevet 12. januar 2005 Del Skrevet 12. januar 2005 OpenGL og Direct3D er to forskjellige APIer som kan brukes når man skal programmere 3D applikasjoner. OpenGL er en åpen standard og fungerer på flere OSer mens Direct3D laget av Microsoft og fungerer kun under Windows. Lenke til kommentar
Dux ducis Skrevet 12. januar 2005 Del Skrevet 12. januar 2005 Det jo mulig at noen guider har info om dette.. Lenke til kommentar
Kurt P Skrevet 12. januar 2005 Forfatter Del Skrevet 12. januar 2005 Så OpenGL er et program som brukes for å lage spill ? eller som brukes for å kjøre spill ? Mens Direct3D er også et spill, men kan kun kjøre under windows ? dvs ikke linux/dos/Mac osv.. ? Lenke til kommentar
knert Skrevet 12. januar 2005 Del Skrevet 12. januar 2005 OpenGL og Direct3D er to forskjellige APIer som kan brukes når man skal programmere 3D applikasjoner.OpenGL er en åpen standard og fungerer på flere OSer mens Direct3D laget av Microsoft og fungerer kun under Windows. og hva er en API? Lenke til kommentar
Surdeig Skrevet 12. januar 2005 Del Skrevet 12. januar 2005 tror noen skal ha god tid for å gidde forklare dette. søk og du skal finne Lenke til kommentar
ExcaliBuR Skrevet 12. januar 2005 Del Skrevet 12. januar 2005 API = Application Program Interface (ikke drep meg hvis jeg tar feil, hehe...) OpenGL og Direct3D er API'er, hvor spillutviklere har et fast miljø å utvikle spill med i hensyn til instruksjoner og effekter. API'er har et eget programmeringsspråk som kanskje ikke er så veldig logisk utifra hvilken oppgave den gjør, så derfor utvikler spillutviklerne som regel sine egne 3Dmotorer (som også er API'er ) (f.eks Source, CryEngine etc.) som lager mer logiske slutninger f.eks, og for å forenkle effekter osv. Det 3D motorer gjør er å "oversette" til og fra API språket mellom bruker og API. Man kan slå sammen effekter som f.eks ville tatt flere linjer med kode hvis man koda rett i Direct3D eller OpenGL, til en linje i 3D motoren f.eks. Lenke til kommentar
knert Skrevet 12. januar 2005 Del Skrevet 12. januar 2005 (endret) API = Application Program Interface (ikke drep meg hvis jeg tar feil, hehe...) OpenGL og Direct3D er API'er, hvor spillutviklere har et fast miljø å utvikle spill med i hensyn til instruksjoner og effekter. API'er har et eget programmeringsspråk som kanskje ikke er så veldig logisk utifra hvilken oppgave den gjør, så derfor utvikler spillutviklerne som regel sine egne 3Dmotorer (som også er API'er ) (f.eks Source, CryEngine etc.) som lager mer logiske slutninger f.eks, og for å forenkle effekter osv. Det 3D motorer gjør er å "oversette" til og fra API språket mellom bruker og API. Man kan slå sammen effekter som f.eks ville tatt flere linjer med kode hvis man koda rett i Direct3D eller OpenGL, til en linje i 3D motoren f.eks. Hvis det er sånn som du sier her, hvorfor må man da ha gjerne nyeste directx inne for og spille nye spill? edit: eller tar jeg feil? øh. Endret 12. januar 2005 av knert Lenke til kommentar
A!1 Skrevet 12. januar 2005 Del Skrevet 12. januar 2005 (endret) Når man lager et program eller spill bruker man et programmeringsspråk som C++, C, C#, Java, Basic, Visual Basic, Flash o.l. Disse programmeringsspråkene benytter flere bibliotek av klasser og funksjoner. Et slikt biliotek refereres ofte til som en API, selv om en API egentlig er en ekstern funksjon som kan brukes som en del av programmet man lager. En API er altså en funksjon i et ekstern bibliotek av funksjoner. Kan samenlignes med at man går til leksikonet i hyllen for å finne svar på et spørsmål man har... DirectX eller Direct3D, som er en del av DirectX-bilioteket, er et slikt bibliotek. OpenGL er et annet bibliotek av funksjoner. OpenGL og DirectX kan IKKE brukes om hverandre, på grunn av måten de er bygget opp på. Disse funksjonene lar deg få kontroll over skjermkortet og skjermbildet. DirectX er mer omfattende enn OpenGL da det også inneholder funksjoner for å kontrollere lydkort, tastatur, nettverkskort, m.m. Med Managed DirectX som er nytt siden DirectX8.1 har forenklet DirectX betydelig og forenklet portabiliteten til andre platformer. DirectX brukes blant annet også på XBox. Jeg vil også tro at det finnes relativt enkle rutiner for å portere DirectX kode til å fungere både på PlayStation2 og GameCube, da aktører som f.eks. Electronic Arts lanserer spill til alle disse plattformene samtidig. Det er nok riktig at OpenGL fungerer på Linux og Unix systemer i tillegg til Windows, men jeg tror der er vanskeligere å portere OpenGL kode enn DirectX kode til å fungere på spillkonsoller. Men jeg har kun kodet DirectX til PC og Xbox og har aldri satt meg inn i OpenGL. EDIT: Hvis det er sånn som du sier her, hvorfor må man da ha gjerne nyeste directx inne for og spille nye spill? Fordi at det legges til nye funksjoner/rutiner som styrer nye rutiner i skjermkortet. Strukturen/måten DirectX brukes på forandres også etter hvert som versjonen øker. DirectX er derfor bakoverkompatibelt, men ikke framoverkompatibelt. Se på det som en skjermkort driver. Man kan ikke forutse alle nye funksjonaliteter fremtidige skjermkort vil ha. Det er samme årsak som at ikke dagens drivere støtter morgendagens hardware. Endret 12. januar 2005 av Mental 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å