Gå til innhold

OpenGL har ikke noe med C++ å gjøre, ikke sant?


Anbefalte innlegg

Hei!

Satt å så på forskjellige c++ prosjekt på nettet også plutselig traff det meg

"For å skrive OpenGL app's må jeg kunne c++, eller er jeg helt på jorde?"

 

Dette tomromme i mitt kansje ikke så alt for store hjerne må fylles med engang!

Noen linker hvor jeg kan lese om hvordan dette fungerer?

 

:!:

Lenke til kommentar
Videoannonse
Annonse

OpenGL har ingenting med C++ å gjøre nei. C++ er et språk som ikke er laget for spesielle bruksområder -- det er laget for alle former for programmering. OpenGL er et selvstendig grafikkbibliotek som er laget for å brukes med alle programmeringsspråk. Man kan like godt bruke C, eller Python for den del, til å programmere OpenGL-programmer.

 

Men å bruke C++ til OpenGL er kanskje en mer vanlig kombinasjon enn f.eks. å bruke Python.

Lenke til kommentar

OpenGL er eit biblotek til C/C++ som inkluderes i koden, og då har ein tilgang til funksjonene som ligger i bibloteket.

Men det finnes "bindings" som kan gjere det mulig å bruke i andre språk enn C/C++.

 

Grunnen til at c/c++ er mest brukt i OpenGL-samanheng er at der ein trenger openGL har ein behov for ein del tyngre funksjonalitet som c/C++ kan gi.

 

OpenGL is a low-level graphics library specification. OpenGL makes available to the programmer a small set of geometric primitives - points, lines, polygons, images, and bitmaps. OpenGL provides a set of commands that allow the specification of geometric objects in two or three dimensions, using the provided primitives, together with commands that control how these objects are rendered into the frame buffer.

 

The OpenGL API was designed for use with the C and C++ programming languages but there are also bindings for a number of other programming languages such as Java, Tcl, Ada, and FORTRAN.

 

The OpenGL 1.1 Specification is maintained by Silicon Graphics and can be found at: http://www.sgi.com/Technology/openGL/glspec1.1/glspec.html.

 

Mesa is a free implementation of the OpenGL specification. Mesa is the actual graphics library that will be used in this course. Additional information on Mesa can be found at: http://www.ssec.wisc.edu/~brianp/Mesa.html.

 

The OpenGL specification is operating system and windowing system independent. It relies on the windowing system for window management, event handling, color map operations, etc . . .. In this course the tk library will be used for windowing system functions. (This library is not to be confused with Tk of Tcl/Tk.) The tk library provides the "glue" between OpenGL and X Windows. Documentation for the tk library can be found at http://www.eecs.tulane.edu:80/www/graphics...k-documentation. Source code for the tk library can be down-loaded from ftp://ftp.sgi.com/opengl/contrib/libtk.tar.Z.

Lenke til kommentar
Takker så mye, sitter å leser der nå :)

 

Noen som har noe mer info?

 

Edit:

Hva anbefaler dere da DirectX eller OpenGL, og hva er enklest?

8461760[/snapback]

 

OpenGL er kanskje lettest, spesielt om man bruker SDL. Dette er jeg ikke helt sikker på; Microsoft har sikkert mye god dokumentasjon om DirectX.

Lenke til kommentar

OpenGL sammen med SDL er veldig kjekt, og ikke minst plattformuavhengig. DirectX kan kun brukes på noen få utvalgte plattformer, for ikke å nevne alle politiske/ideologiske synspunkter (som jeg ikke skal misjonere om nå).

 

Flere fordeler med C/C++ er bl.a. at det er mye raskere enn f.eks. Java og Python, mer funksjonalitet som tidligere nevnt, og at det er det OpenGL er skrevet for/i, så du slipper å tenke for mye på et ekstra lag ("bindings", som tidligere nevnt).

Lenke til kommentar

Det er vel flere definisjoner på hva en wrapper egentlig er, men det er jo noe som "pakker inn" noe. Det kan f.eks. wrappe et annet bibliotek. (GTKmm f.eks.). Nå vil vel egentlig ikke kalle OpenGL for en wrapper, men..

 

I denne sammenhengen (om vi skal bruke ordet wrapper), så wrapper OpenGL lavnivå operasjoner for å håndtere grafikk (nøyaktig hva OpenGL gjør, vet jeg ikke), og tilbyr et API gjennom et sett med funksjoner og strukturer som lar deg tegne points, lines, polygons, etc. på skjermen. (Noen andre som kan fylle inn litt her, kanskje?)

 

Uansett, hvis du ikke forstår helt hva det er, så er ikke det noe å tenke på. Det kommer garantert etterhvert.

Lenke til kommentar
OpenGL er eit biblotek til C/C++ som inkluderes i koden, og då har ein tilgang til funksjonene som ligger i bibloteket.

Men det finnes "bindings" som kan gjere det mulig å bruke i andre språk enn C/C++.

 

Grunnen til at c/c++ er mest brukt i OpenGL-samanheng er at der ein trenger openGL har ein behov for ein del tyngre funksjonalitet som c/C++ kan gi.

I bunn og grunn så er det vel C/C++ som kaller OpenGL, samme hva slags alternative språk som brukes.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...