PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GLfloat, GLuint usw.


Vedek Bareil
2003-01-11, 05:39:52
Hallo,

ich bin zur Zeit OpenGL-Programmierung am lernen (im wesentlichen anhand der Tutorials von http://nehe.gamedev.net/), und bin dabei Zahlenformaten wie GLfloat und GLuint begegnet. Soweit ich das beurteilen kann, sind das aber doch ganz normale float/double bzw. unsigned int Zahlen. Wozu dann diese seperaten Formate mit dem GL davor? Bringt deren Verwendung in Verbindung mit OGL irgendwie eine bessere Performance oder wie? Oder dienen die nur der Übersichtlichkeit des Quellcodes, so à la "da steht GL davor, da werden OGL-Operationen mit durchgeführt"? ???

Unregistered
2003-01-11, 12:12:02
Das dient der plattformunabhängigkeit von Opengl. Würde man die nativen Datentypen nehmen, wäre ein int auf einem x86 32bit groß und auf einer 64bit plattform unter umständen auf einmal 64bit groß. Opengl vermeidet das, indem es eigene Datentypen definiert die streng spezifiziert sind. Die Opengl Implementierung auf einer bestimmten Plattform nimmt dann für den jeweiligen Opengl Datentyp den passenden nativen.
Also ist z.b. ein GLint als 32 bit groß spezifiziert. Dann wird daraus auf einem x86 intern auch ein int, auf einer 64bit plattform aber ein short.
Und darum muß sich halt der Programmierer gar nicht mehr kümmern, er benutzt einfach GLint und alles passt.
Grüße, Jan