temp ist ein array of double.
allerdings steht in diesem array, das der Rotwert etwa bei 2,9 * 10^-6 liegt.
er sollte bei 0,35... liegen. Zumindest habe ich opengl gesagt, das es so malen soll und es sieht auch so aus, als wäre das der Wert, was da dargestellt wird.
Außerdem muss der Array trotzdem so groß sein wie die anzahl der Pixel, sonst gbts ärger. Der schreibt da die 9 Werte rein, lässt 9 auf 0 und schreibt wieder 9 werte rein usw.
würde mich freuen, wenn mir jemand helfen könnte
danke im vorraus
_________________ Es gibt eine Theorie, die besagt, wenn jemals irgendwer genau rausfindet, wozu das Universum da ist und warum es da ist, dann verschwindet es auf der Stelle und wird durch etwas noch Bizarreres ersetzt.
Es gibt eine andere Theorie, die besagt, dass das schon passiert ist.
Registriert: Mo Sep 02, 2002 15:41 Beiträge: 867 Wohnort: nahe Stuttgart
So wie ich das sehe, überschreibst du den Pointer auf dein Array. Von daher zeigt der Pointer dann irgendwo wild in den Speicher.
Schreib mal statt temp @temp[0], damit hast du einen Pointer auf den ersten Arraywert und damit schreibt glReadPixels die Werte dann auch wirklich in das Array.
_________________ Es gibt eine Theorie, die besagt, wenn jemals irgendwer genau rausfindet, wozu das Universum da ist und warum es da ist, dann verschwindet es auf der Stelle und wird durch etwas noch Bizarreres ersetzt.
Es gibt eine andere Theorie, die besagt, dass das schon passiert ist.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
glReadPixels erwartet als 3ten und 4ten Parameter die Breite und Höhe des Bereiches. Also wenn du 1 Pixel auslesen möchtest muss dort beide Male eine 1 stehen. X und Y geben dabei das erste auszulesende Pixel an.
Und GL_FLOAT ist KEIN Double sondern ein Single. Zur Vermeidung von Fehlern kannst/solltest du evtl die Typen aus der dglOpenGL verwenden (wenn du diese Unit verwendest). Also dann entsprechend ein TGLfloat.
Sonst kann ich WhiteHunter nur zustimmen. Die Funktion erwartet einen Pointer auf einen Speicherbereich. Da bitte überprüfen, dass das auch genau stimmt. Ansonsten wird es irgendwohin geschrieben. Falls sich die eigentlichen Daten im Debugger nicht verändern ist das ein eindeutiges Zeichen, dass da was nicht hingehauen hat und die Werte woanders hin geschrieben wurden.
ok, es lag echt daran, das ich double statt single hatte.
danke für die hilfe
_________________ Es gibt eine Theorie, die besagt, wenn jemals irgendwer genau rausfindet, wozu das Universum da ist und warum es da ist, dann verschwindet es auf der Stelle und wird durch etwas noch Bizarreres ersetzt.
Es gibt eine andere Theorie, die besagt, dass das schon passiert ist.
Mitglieder in diesem Forum: 0 Mitglieder und 8 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.