Ich hab ein Problem mit Texturen in der VCL.
Ich lade meine Texturen über die textures.pas und in der API geht das auch wunderbar.
Aber unter der VCL werden die Texturen nicht angezeigt.
Ich hab die Textur geladen, einem Objekt zugewiesen und die UV-Koordinaten gesetzt.
Ich hab hier schon gesucht, aber nix hilfreiches gefunden.
Ich hab mir auch die VCL-Sourcecodes von den Tutorial-Demos angeschaut, aber die gingen entweder nicht, oder haben die glaux.dll verwendet.
Wenn das Problem hier nicht bekannt ist, werd ich den Sourcecode posten.
Hier ist der Sourcecode:
http://www.frase.hits4.net/texvcl.zip 256 KB Uploadgröße sind ein bisschen zu wenig. Deswegen ist der obige Hyperlink ein Link zu meiner Website. (Nur falls es irgendwelche Probleme wegen irgendwelchen Bestimmungen hier geben sollte...)
Ach ähm, das Problem hängt vielleicht auch damit zusammen, dass die dglopengl.pas keine Ahnung von der glu32.dll hat, die aber für die Mipmaps gebraucht wird, oder so.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Bitte?Alle glu-Hilfsfunktionen finden sich in der dglOpenGL.pas!Ich selbst nutze sie (auch VCL) mit Jan Horns Textures.pas und es gibt da auch keine Probleme...
Stimmt genau, dein Fehler liegt darin, dass du das Texturhandle erstellen willst, bevor der eigentliche OpenGL Treiber geladen ist (was erst nach dem setzen des Pixelformates der Fall ist).
Außerdem schaltest du weder 2D-Texturen ein, noch setzt du Texturkoordinaten - ich sende mal die geänderte template_main mit, mit der man bei mir zumindest die Textur sieht funktioniert.
Stimmt genau, dein Fehler liegt darin, dass du das Texturhandle erstellen willst, bevor der eigentliche OpenGL Treiber geladen ist (was erst nach dem setzen des Pixelformates der Fall ist).
*mit Handfläche auf die Stirn hauen* selten blöd!
Mars hat geschrieben:
Außerdem schaltest du weder 2D-Texturen ein, noch setzt du Texturkoordinaten - ich sende mal die geänderte template_main mit, mit der man bei mir zumindest die Textur sieht funktioniert.
Die Teile muss man einschalten! peinlich...
Son of Satan hat geschrieben:
Bitte?Alle glu-Hilfsfunktionen finden sich in der dglOpenGL.pas!Ich selbst nutze sie (auch VCL) mit Jan Horns Textures.pas und es gibt da auch keine Probleme...
Naja, eigentlich schon. Aber schreib mal in der textures.pas in der uses-Klausel statt OpenGL dglopengl hin... Dann sagt der Compiler er kennt die glu32 bei der Funktion:
Code:
function gluBuild2DMipmaps(Target: GLenum; Components, Width, Height: GLint; Format, atype: GLenum; Data: Pointer): GLint; stdcall; external glu32;
Thx für die schnelle Hilfe!
@Mars: Ich will ja nix sagen, aber die pas, die du angehängt hast, ist genau die gleiche, wie die von mir. (Sogar das Änderungsdatum ist das gleiche)
Mea Culpa - ich habe vergessen das Teil vor dem Packen zu speichern...
Probier's mal mit der neu angehängten Datei
P.S. Wenn die textures.pas irgendwas aus externen DLLs lädt, was eigentlich bereits dglOpenGL erledigt - und dazu irgendwelche Strings benötigt, die weder standardisiert noch dokumentiert sind, kannst du das doch nicht dglOpenGL in die Schuhe schieben (genaugenommen auch nicht Textures.pas, diese Zeile ist halt ein Kompromiß an die nicht ganz durchdachte Delphi OpenGL Unit).
Lösch die entsprechende Zeile einfach raus, sämtliche wichtigen GLU Funktionen werden von dglOpenGL geladen - früher musste man da selbst improvisieren, mit dglOpenGL ist das nicht mehr notwendig .
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Mitglieder in diesem Forum: 0 Mitglieder und 6 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.