Wie speichert OpenGL die Texturen ab?
-
Hi,
weiß jemand, wie OpenGl unter Windows seine RGBA Texturen abspeichert?
Also mir geht es darum, ich habe einige Texturen mit Alphakanal (32Bit) und welche ohne(24 Bit).
Wenn ich jetzt OpenGL mit glTexImage2D die Pixel übergebe, gebe ich ja an, ob ein Pixel aus 3 oder 4 Bytes besteht.
Ich brauchte also 2 verschiedene Routinen mit verschieden großen Arrays um keinen Texturspeicher zu vergeuden.Andererseits, wenn OpenGl ja sowieso die Texturen intern immer auf 32BPP abspeichert, kann ich mir es ja auch sparen.
Es scheint ja auch egal zu sein, ob die Ausgabe auf 16 Bit erfolgt. *hmpf*Weiß einer was darüber?
-
-
opengl speichert es in dem format ab, in dem du es angibst. wenn du also GL_RGBA oder GL_ARGB_EXT angibst, wird das format intern verwendet, wenn das inputformat nicht dem entspricht, konvertiert oGL das. das klappt übrigens auch für s3tc als komprimiertes texturformat

rapso->greets();
-
Landen die mit glTexImage2D erzeugten Texturen eigentlich im RAM der Grafikkarte ?

-
Cpp_Junky schrieb:
Landen die mit glTexImage2D erzeugten Texturen eigentlich im RAM der Grafikkarte ?

jede textur die von der graka verwendet wird muss im grakaspeicher-bereich liegen, also ja.
rapso->greets();