glBitmap richtig verwenden
-
Sgt. Nukem schrieb:
Hier ein LoadBMP mithilfe von glaux: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=06
der liefert mir falsches format, glBitmap will char...
burnner
-
kommt schon jemand weiss es sicher
-
Probier doch std::ifstream.
Bye, TGGC \-/
-
ich hab die die fstreams benutzt.. läuft irgendwie aber nicht
-
Ich will ja nicht so n'Lyriker nachäffen, der Dir nur raten kann bei google zu schauen, aber:
So schwer kannst nicht sein, oder? Zumal Deine Bude folgendes behauptet:ARTinfection is a creative design studio with complex technical background. We offer to our clients a wide range of experience, especially in game design.
PS: warum nicht das NeHe-tut? Wozu brauchst das bitmap?
-
hab ja nicht ich geschrieben^^ ich möcht mir ne einfache 2d engine zum erlernen von opengl schreiben..
-
Na dann würd ich Dir raten die NeHe-tuts durchzumachen. Die sind ziemlich gut.
Was die Bitmaps betrifft: Ich lade die mit ner SDL-Funtkion. www.libsdl.org
-
und wie stellst du diese dann aufm bildschirm dar?
-
Als Textur.
Kannst aber auch einfach Bild-Werte auslesen (natürlich auch als char), oder was auch immer Du vor hast..
-
ah dann soll ich das also per textur machen und dies dann einfach auf ein primitiv legen?
texturen kann ich auch laden *stolzsein*
-
Also nochmal ganz ausführlich.
Es gibt glBitmap. Diese Funktion zeichnet eine Bitmap (wirklich im ursprünglichen Sinne des Wortes gemeint) auf den Screen. Die Daten werden als ein Array aus Bits interpretiert. Jedes Bit ist ein Pixel auf dem Screen, somit erzeugt jedes Byte Daten 8 Pixel.
Dann gibt es glDrawPixels. Diese Funktion unterstützt verschiedene Pixelformate.
Ebenso glTexImageXD. Auch diese Funktion unterstützt verschiedene Pixelformate.
Das BMP Format kann genau gesehen gar keine Graustufen bzw. schwarz-weiß Informationen speichern. Für alle Bitdepth unterhalb von 16 Bit wird ein indexierter Modus verwendet, der auf die in der BMP gespeicherten Palette zugreift. Bei Ein-Bit Bitdepth gibt es dort halt nur zwei Einträge. Diese Einträge können aber jede X-beliebige Farbe sein (Paletteneinträge sind 32bit RGBA bzw. BGRA wenn man sie aus der Datei ausliest) - es muss nicht schwarz-weiss sein.
Deshalb empfiehlt es sich die Pixeldaten zu expandieren, also mit Hilfe der Palette auf RGBA zu bringen und damit dann glDrawPixels oder glTexImageXD zu füttern. Es sein denn natürlich man will die Pixeldaten als schwarz-weiss interpretieren.
Dann muss man allerdings immer noch auf das Padding der BMPs aufpassen, welches die Zeilenenden auffüllt.cya
liquid
-
-
Versuchen kann mans ja mal. *g*
-
Ich meinte das allgemeiner und auch nicht unbedingt auf burnner bezogen (auch wenn er natürlich ein "dankbares" Beispiel ist).
Solche weiterführenden Infos findet man immer relativ leicht im Netz oder in Büchern. Wer ein bisschen was erreichen will, sollte gezielt und selbstständig an weitere Informationen kommen. Sonst ist das wie hier, das zu jeder Antwort wieder eine neue Frage kommt.
Bye, TGGC \-/