Hallo .. habe eine kurze Verständnisfrage zu den normalen Delphi- und den DGL-Variablen. Gehe ich richtig in der Annahme, dass die Delphi Variablen wie z.B. Double im RAM adressiert werden und die DGL-Variablen wie GLdouble im Speicher der Grafikkarte? Gruss Jens
Warum wird das dann überhaupt gemacht? Man könnte doch auch die Delphi-Variablen nehmen?
OpenGL kommt aus der C-Welt. In C ist z.B. "int" der Integer-Datentyp der von der CPU nativ unterstützt wird und daher nicht simuliert werden muss. Auf den "normalen" Platformen (i686 oder x64_86) entspricht zwar "int" eigentlich immer einem 32bit Integer, aber auf exotischen Platformen (etwa Handy oder so) könnten es durch aus auch mal nur 16bit sein. Wenn du GLint benutzt kannst du sicher sein, dass es sich um einen 32bit Integer handelt.
Ein anderes Beispiel wäre z.B. GoogleWebToolkit. Das simuliert den Java-Typ "float" (aka Single in Delphi) in dem es "double" benutzt, da es in JavaScript eben kein Float gibt.
=> Wenn du GLdouble benutzt kannst du dich darauf verlassen, dass es sich um ein 64bit-Double nach IEEE Standard handelt. Natürlich immer vorausgesetzt dein Header ist für deine Platform geeignet.
Da Delphi nur unter Windows läuft ist das ganze hier natürlich relativ egal. Aber der Header geht ja auch für FreePascal und da kann die Sache wieder anders aussehen. Z.B. gibt es auch FreePascal für Sparc oder ARM Prozessoren. Ich habe davon keine Ahnung, aber falls es da Unterschiede gibt braucht man im Header nur schnell GLdouble umdefinieren und nicht den kompletten Header neu schreiben.
Mitglieder in diesem Forum: Majestic-12 [Bot] und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.