gibt es eine gescheite Möglichkeit ein TBitmap zu einem SDL_Surface oder direkt zur tauglichen Textur in GLuint zu konvertieren ?
Dachte mir man könne das mit einer selbstgeschriebenen oder übersetzten putpixel-Funktion machen, aber die putpixel-Funktionen die ich so bei Google finde sind alle in C und die Datentypen sind recht ungewohnt in dem Fall. (Uint8 *) wäre doch PUint8() oder sehe ich das falsch ? Der zu übersetzende Code wäre in der SDL-Dokumentation die Funktion putpixel. Meine Probleme habe ich bei der Zeile mit Uint8 *p = [...] (Zeile 4). Was macht die Zeile genau ? Sie ermittelt doch den Zeiger auf das Pixel, aber wie ? Ich verstehe überhaupt nicht, was hinter der Zeile steckt und wie man es übersetzen soll weiß ich auch nicht.
Andererseits gibt es bestimmt andere Methoden, das wäre ja nur in ein SDL-Surface, mein Ziel ist aber eh in einen GLuint um es in OpenGL nutzen zu können, weswegen ich den Weg über meinen Textur-Lader auch weglassen könnte, falls das direkt geht. Geht das direkt ? Es wäre halt Unfug ein TBitmap erst zu speichern um es dann wieder mit dem Texturemanager zu laden.
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2067
Programmiersprache: C++
Uint8 *p = (Uint8 *)surface->pixels + y * surface->pitch + x * bpp;
(Uint8 *)surface->pixels ist die Adresse des ersten Pixels y * surface->pitch + x * bpp ist die Anzahl der Pixel zwischen dem ersten Pixel und dem gesuchten Pixel. Wir verschieben also unseren Pointer vom ersten Pixel zum gesuchten Pixel.
Mitglieder in diesem Forum: 0 Mitglieder und 7 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.