Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Also obigen Quelltext würde ich mal ganz schnell verwerfen, bevor dich noch einer der OpenGL-Entwickler bei lebendigem Leib auffrist
So wie ich die Sache sehe, willst du dort einen Punkt texturieren, was rein prinzipiell nicht geht (GL_POINTS lassen sich nur über eine spezielle nVidia-Erweiterung für GeForce3/4-Karten als Billboards texturieren).
Aber zu deinem Problem :
Hast du deinen Rendercontext schon erstellt und aktivierst du ihn auch bevor du die Textur laden tust???Wenn nicht, dann kann das ganze auch net klappen.
ähem....was meinst Du damit ???? Ich habe das TUT gelesen und halte mich halt daran. Dort habe ich noch mit der GLAUX gearbeitet, aber AYA meinte ich sollte es mal mit der TEXTURES.PAS von Horn probieren. Beim initialisieren der Scene habe ich mich auch ans TUT gehalten. Das Drehen funzt recht gut. Ansonsten habe ich den ganzen Code schon hier gepostet.
Gut, das mit den Punkten wußte ich noch nicht. Ich habe es nur deshalb gemacht weil ich dachte, zum Probieren ist es besser und schneller. Ich wurde aber schon stutzig, weil im TUT was von Flächenangaben (0,0),(1,0),... steht und ich die ja hier nicht habe.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Zitat:
ähem....was meinst Du damit ???? Ich habe das TUT gelesen und halte mich halt daran. Dort habe ich noch mit der GLAUX gearbeitet, aber AYA meinte ich sollte es mal mit der TEXTURES.PAS von Horn probieren. Beim initialisieren der Scene habe ich mich auch ans TUT gehalten. Das Drehen funzt recht gut. Ansonsten habe ich den ganzen Code schon hier gepostet.
Mit Initialisierung meine ich die Erstellung deines Renderkontextes auf der Basis eines gültigen Gerätekontextes.
Hast du deinen Renderkontext erstellt, dann hast du OpenGl quasi "initialisiert" und musst nur noch deinen Kontext aktivieren (mittels wglMakeCurrent(DC, RC)).
Danach kannst du OpenGL erst "nutzen" und bestimmte Eigenschaften setzen/aktivieren, oder eben deine Textur laden.
Wenn dein Kontext jedoch nicht (oder in-)aktiv ist, dann lädt er die Textur zwar von der Festplatte in den Speicher, aber ein Erstellen in der Textur im Grafikkartenspeicher schlägt dann fehl!
ich hab das gleiche Problem... Hab das Tutorial durchgearbeitet, aber das mit der Textur will nicht so wie ich will... Ich kreig sie einfach nicht auf das Quadrat...
Hab tex als Globalen PGLuint deklariert. Krieg dann aber Probleme, weil GLBindTextures zwei Cardinals erwartet...
Na was glaubst du wie ich das schon rauf und runter gelesen hab! (Lektion 4 - gibt's noch ein anderes?)
Hab mir jetzt sicherheitshalber auch noch die Beispiele runtergeladen.
Da hab ich gesehen dass ihr tex als GLUint deklariert habt, und dann glGenTextures(1, @tex); schreibt.
da's den Typ Variable bei mir gar nicht gibt - bloß PGLuint oder TGLuint - hab ich das mal auf TGLuint geändert. Dann bin ich über LoadOpenGL in FormCreate bzw. ShutdownGL in FormDestroy gestolpert...
Geh ich richtig in der Annahme dass ich die beiden Funktionen noch schreiben muss? Werd ich mich mal dranmachen. Trotzdem glaub ich nicht dass es funktioniert...
Ich hab das schon mal mit TGLuint und dann @tex gemacht. Dann bleibt aber immer noch das Problem, dass GlBindTexture als zweiten Parameter nen Cardinal und keinen TGLuint haben will...
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Um das ganze ganz kurz und schmerzlos zu machen. Ja in den OpenGL12 Header sind einige Sachen anders, speziell auch die Übergabe der Parameter (Var und Pointer). Was die Bezeichnungen angeht, weiß ich nicht was Lischke dazu trieb sie nach Pascal-Standard zu benennen... gibt ne einfaches Workaround.
Type gluint = TGluint;
etc.
und schon funktioniert es auch alles wieder wie unter der OpenGL1.0 ohne das man alles umändern muss. Wer sich auskennt, kann dies auch einfach in die Header schreiben und ist diese Sorge los
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Mitglieder in diesem Forum: 0 Mitglieder und 20 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.