Mokka
L12: Crazy
- Seit
- 1 Aug 2005
- Beiträge
- 2.094
oke nochmal simpler:
der vertex shader (also das programm, das für jeden polygon-eckpunkt einmal ausgeführt wird) verschiebt einfach diese einzelnen eckpunkte nach bestimmten kriterien und weist ihnen auch eine farbe zu. das mit der farbe ist ganz witzig, denn wenn der eine eckpunkt grün ist und ein anderer rot dann werden die pixel, die zwischen den eckpunkten liegen von der hardware automatisch interpoliert (=> es entsteht ein übergang von der einen zur anderen farbe) diese pixel kommen dann als input in den fragment shader.
dort werden dann nochmal die pixel manipuliert. also neue farben zugewiesen.
edit: der filtervergleich ist lustig, weil das eben genau kein filter ist.
ein filter geht immer von einem bildpunkt aus und manipuliert aufgrund dessen farbwerten die umliegenden pixel.
in einem shader funktioniert das nicht, da ein pixel nicht "weiß" welche farbe der pixel neben an hat. d.h. nebeneinander liegende pixel können nicht als input dienen, es sei denn man macht einen schleifendurchgang, so wie nintendo das jetzt implementiert hat. hmmmmm... so ergibt das ganze langsem einen sinn
...und ihr redet immer nur vom fragment teil der shader pipeline, wenn ihr über pixelmanipulation sprecht. ich denke aber, dass im moment noch ein sehr großer teil der programme im vertex teil der pipe abgehandelt werden, ganz einfach weils viel schneller geht.
übrigens das alles ist auch auf normalen cpus möglich nur halt nicht in echtzeit. gut unnötiger kommentar...was ist schon nicht emulierbar
der vertex shader (also das programm, das für jeden polygon-eckpunkt einmal ausgeführt wird) verschiebt einfach diese einzelnen eckpunkte nach bestimmten kriterien und weist ihnen auch eine farbe zu. das mit der farbe ist ganz witzig, denn wenn der eine eckpunkt grün ist und ein anderer rot dann werden die pixel, die zwischen den eckpunkten liegen von der hardware automatisch interpoliert (=> es entsteht ein übergang von der einen zur anderen farbe) diese pixel kommen dann als input in den fragment shader.
dort werden dann nochmal die pixel manipuliert. also neue farben zugewiesen.
edit: der filtervergleich ist lustig, weil das eben genau kein filter ist.
ein filter geht immer von einem bildpunkt aus und manipuliert aufgrund dessen farbwerten die umliegenden pixel.
in einem shader funktioniert das nicht, da ein pixel nicht "weiß" welche farbe der pixel neben an hat. d.h. nebeneinander liegende pixel können nicht als input dienen, es sei denn man macht einen schleifendurchgang, so wie nintendo das jetzt implementiert hat. hmmmmm... so ergibt das ganze langsem einen sinn

...und ihr redet immer nur vom fragment teil der shader pipeline, wenn ihr über pixelmanipulation sprecht. ich denke aber, dass im moment noch ein sehr großer teil der programme im vertex teil der pipe abgehandelt werden, ganz einfach weils viel schneller geht.
übrigens das alles ist auch auf normalen cpus möglich nur halt nicht in echtzeit. gut unnötiger kommentar...was ist schon nicht emulierbar
