Registriert: Di Feb 10, 2004 14:55 Beiträge: 28 Wohnort: Gelsenkirchen
Hi Leute,
beim Aufruf von
Code:
gluQuadricTexture(quad, GL_TRUE);
bekomme ich die Fehlermeldung:
Zitat:
Inkompatible Typen: ByteBool und Integer
hab den Code aus dem Wiki, oder war es das Forum?, übernommen. Was stimmt denn da nicht? Und brauch ich die Zeile zwangsläufig, wenn ich meinen GLU-Objekten Texturen zuweisen will? tia, mfg, martin[/quote]
_________________ Behaupten ist sicherer als Beweisen.
Meine OGL-Projekte
Registriert: Di Nov 26, 2002 22:12 Beiträge: 259 Wohnort: Dresden
Probier's mal mit "true" statt GL_TRUE...
Welchen Header nutzt du denn?
_________________ Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650
Registriert: Di Nov 26, 2002 22:12 Beiträge: 259 Wohnort: Dresden
Das Problem rührt daher, dass GL_TRUE und GL_FALSE numerische Werte sind, während True und False boolsche Werte sind.
Im Header verlangt die Funktion einen boolschen Wert. Warum das so ist wird dir kaum jemand erklären können. Vermutlich weil es einfach naheliegend ist, da als Parameter nur GL_TRUE und GL_FALSE akzeptiert werden.
Aber im Prinzip hast du Recht und laut Spezifikationen müsste die Definition im Header anders sein.
_________________ Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Sowas sollte auch repariert werden. Es bringt nichts, wenn Header-Umsteiger unseren Header ausprobieren, und feststellen, dass ihr Programm damit nicht mehr kompiliert werden kann. Wir sind stolz den besten Delphi OGL Header zu haben, da muss er dann aber auch OGL konform sein. Vielleicht kann ja mal jemand ne Suche im Header machen, wo über all "Boolean" als Parameter vorkommt. Dann können wir das mal vergleichen.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ich denke mal es handelt sich dabei um eine kleine Schwäche beim Übersetzen. In C++ ist ein Bool mehr oder weniger auch nichts anderes als ein Byte. Es sollte genügen, wenn man im Header in der Zeile 212 anstelle eines TGLboolean = BYTEBOOL; ein TGLboolean = BYTE; benutzt. Allerdings müssen dann alle Stellen die vorher mit True/False gefüttert wurden dann mit GL_TRUE/GL_FALSE gefüttert werden. Wenn man das ändert wird das wiederum dazu führen, dass bestehender Codes nicht mehr funktioniert. Das betrifft jetzt aber auch nicht so viele Methoden.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Naja...viele andere möglichkeiten gibts kaum um konform zu sein. Maximal noch die, die Funktionen in beiden Versionen anzubieten.
In jedem Fall müssen wir checken, ob die Dokumentation im Wiki mit dem Orginal übereinstimmt. Ich habe z.B. nämlich immer den DelphiCode aus der DGLOpenGL.pas kopiert.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 2 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.