ok, ich habe wiedermal viel im Wiki geblättert und nachgedacht nun habe ich eine ganze reihe von funktionen aneinandergereit um die fensterkoordinaten rauszubekommen
nun gibt mir aber glGetDoublev ein PGLDouble zurück, gluProject benötigt allerdings ein TGLMatrixd4 der viewport mit glGetIntegerv funktioniert jedoch
desweiteren wollte ich mal fragen was PGLDouble ist und wie ich das in einen nützlichen typ umwandeln kann, da die funktionen ja damit arbeiten, glCopyTexSubImage2D allerdings Integer von mir fordert
theoretischer weise müsste ich nun nur noch PGLDouble zu Double machen und danach zu Integer (ich will die kommastellen für alle berechnungen behalten damit die rundung später so genau wie möglich passiert) und dann sollte ich den richtien ausschnitt auf meinem bildschirm ausgewählt haben um mit hilfe des shaders meine "Lampe" zu verwischen
PGLDouble ist ein Pointer auf ein GLdouble. Du gibst glGetDoublev einen Pointer auf ein Array mit 16 GLdouble welches dann gefüllt wird. TGLMatrixd4 dürfte auch nichts anderes sein als ein Speicherbereich mit 16 GLdoubles.
€2 : also irgendwie versteh ich das nich so richtig, PGLDouble ist also ein array nur bringt mich das nich weiter weil das ja immernoch nicht kompatibel zu TGLMatrixd4 ist
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
PGLDouble ist halt ein Zeiger auf mindestens einen Doublewert, und je nach Funktion der du diesen Wert übergibst will OpenGL hinter diesem Pointer mehr oder weniger Werte. Denn auch eine Matrix, egal wie sie aufgebaut ist, liegt in der Regel so im Speicher dass alle Werte direkt hinterinander liegen, deshalb kann man so auch direkt mit dem @-Operator Matrizen an OpenGL übergeben als Zeiger auf das erste Element (z.b. @MyMatrix[0], unter Delphi sollte aber auch @MyMatrix gehen).
Bei gluProjekt kannst du daher z.b. direkt @LinksUntenX etc. schreiben, also einen Zeiger auf ein Double was dann PGLDouble entspricht.
ok, langsam aber sicher gehen mir die optionen aus
ich hab den shader eingelesen kompiliert gebunden mit variablen gefüttert und am ende auch genutzt, aber wie immer nur ein schwarzes bild
ich lasse die position des bildes das verschwimmen soll nun berechnen und nutze diese ergebnisse die recht brauchbar aussehen, es ist nicht perfekt aber man kann sie nutzen
aber irgenwo liegt noch ein fehler, mein lösungsansatz sieht nun so aus
Mitglieder in diesem Forum: 0 Mitglieder und 10 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.