[OpenGL] pixelweise Textur lesen
-
Hi,
Ich moechte ne Textur pixelweise auslesen und jeden Pixel einzeln auf eine neue Textur zeichnen. Ist das ueberhaupt moeglich, wenn die Performance nicht allzustark einknicken sollte? Gibts von OpenGL Befehle zur schnellen Pixelbearbeitung?
thx
-
glGetTexImage2D und dann einfach RenderToTexture.
btw. p-Buffer.
-
ne, das sollte schon Pixelweise sein.. Es geht darum, die Pixel anhand des alpha-Wertes noch speziell auszuwerten..
-
Mach halt nen Pixelshader
-
ChockoCookie schrieb:
Mach halt nen Pixelshader
Das wollt ich noch vermeiden, da ich noch nicht genau weiss, wo das Progi laufen soll (evt. auf SUN-Hardware ohne pixel shader).
-
Ich denke mal ohne PS dürfte es wohl mit OGL nicht schneller sein, als wenn du die Daten selbst verarbeitest. Kannst ja möglicherweise SIMD verwenden.
-
Naja, OpenGL verwend ich eh schon.. Aber was Du sagst führt darauf hinaus, dass es eh zu langsam würde, oder?
-
Naja, überleg mal: selbst wenn OpenGL Funktionen zum Pixelschubsen hat, uns selbst wenn diese Hardwarebeschleunigt sind (hab noch nix davon gehört), brauchst du immer noch einen gl*() call pro Pixel. Geschwindigkeit ↓↓. Mach lieber ne sse (oder welche simd technik auch immer) implementation von dem was du brauchst und/oder berechne es im voraus wenn möglich. gcc kann auch platformunabhängige simd operationen.
-
ok, ich werds einfach mal ausprobieren.
Es geht darum, dass Pixel je nach alpha-Wert mehr oder weniger verschwommen wirken sollen, d.h. auch mehrmals gezeichnet werden müssen. Mal kucken, ob da noch was brauchbares rauskuckt..Jedenfalls, Danke für die Hilfe
-
durito schrieb:
ne, das sollte schon Pixelweise sein.. Es geht darum, die Pixel anhand des alpha-Wertes noch speziell auszuwerten..
Fragt man sich doch, was daran wohl nicht "pixelweise" ist.
-
Ahvolon[F-Bytes] schrieb:
durito schrieb:
ne, das sollte schon Pixelweise sein.. Es geht darum, die Pixel anhand des alpha-Wertes noch speziell auszuwerten..
Fragt man sich doch, was daran wohl nicht "pixelweise" ist.
?
-
Wenn ich einzelne Pixel habe, ist das ganz sicher "pixelweise".
-
Ahvolon[F-Bytes] schrieb:
Wenn ich einzelne Pixel habe, ist das ganz sicher "pixelweise".
Jo, soll es ja auch sein.. hab nie was anderes behauptet
-
durito schrieb:
ne, das sollte schon Pixelweise sein..
-
Achso, Du meinst Deine 1.Antwort?.. War so gemeint, dass ich die Pixel nicht nur wo im GraKa-Speicher liegen hab, sondern dass ich die auch so schnell wie moeglich auswerten und je nachdem veraendern kann. Nicht einfach kopieren..
Nen pBuffer hab ich bereits.. Hab nun einige Versuche angestellt und komm wohl doch nicht um nen pixel shader rum. Alles andere ist sinnlos langsam..