PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wo werden/können Shader verwendet werden?


Liszca
2007-06-01, 09:42:43
Wenn ich an shader denke, egal ob vertex- oder pixel-shader fällt mir spontan nur die darstellung von wasser ein. könnte mal jemand der sich mit shadern auskennt das ganze bebildern wo man noch überal shader verwenden kann?

ich habe solangsam nämlich das gefühl das die shader ganz schön gehypt werden.

und dann wollte ich noch wissen ob diese aussage stimmt:
UT 2004 verwendet keinen shader.

ist hdr auch ein "shader-effekt"

p.s. tut mir leid ich glaube ich habe wohl die letzt paar technikjahre verschlafen.

Gast
2007-06-01, 11:16:52
Nun ja, ich wollte dich auch gerade fragen wo du die letzten 6 jahre gewesen bist :D
Als erstes würde ich mal vorschlagen daß du dir eine nette lektüre suchst wo erklärt wird was shader überhaupt sind, was sie machen können und wo pixel- bzw. vertexshader eingesetzt werden. Aus dem was du geschrieben hast klingt es für mich so, als sähest du shader als einen effekt den der grafikprozessor beherrscht, als gäbe es einen wassershader effekt, einen HDR shader, usw.
Shader sind keine effekte, sondern kleine programme welche zielmlich alles was mit pixeln oder vertexes zu tun hat beliebig manipulieren können. Was so ein kleines programm macht hängt vom developer/artist ab welcher den shader erstellt, also den programmcode schreibt oder mit einem tool erstellt (es gibt natürlich auch hardware- und softwarebeschränkungen, dies steht aber nicht zur debatte). Shader sind alles und nichts; heutzutage werden für ziemlich alles shader verwendet: vertexshader für animationen/deformationen von objekten (wasser, vegetation, charaktere), pixelshader für spiegelungen, normal mapping, specular mapping, post processings wie bloom, depth of field, motion blur, subsurface scattering, allgemeine beleuchtung der szene, usw.
HDR hat normal nichts mit pixelshadern zu tun, kann aber auch über pixelshader und mehreren rendertargets realisiert werden.
UT 2003/2004 lief auch auf Direct3D 7 hardware, ob da aber was fehlte weiss ich nicht mehr, ist aber gut möglich daß das spiel gänzlich ohne shadern auskommen kann da dort hauptsächlich auf multitexturing und cubemaps gesetzt wurde um die grafikeffekte zu erreichen, und auch eine Geforce 2 kann dies machen, hat dafür sogar noch dedizierte einheiten.

Gast
2007-06-01, 20:41:50
Wo werden/können Shader verwendet werden?

shader können überall eingesetzt werden und werden es in modernen spielen auch. shader sind kleine programme (bzw. mit SM3/4 unter umständen auch recht große) die pixel bzw. vertices verändern.

diese können dabei alles mögliche machen, angefangen von simplen multitexturing (was auch ohne shader möglich ist) über complexe bump-mappingverfahren wie parallax-oclusion-mapping oder auch post-processing-effekte (z.b. nachtsichtgerät, blooming, motion-blur, deep-of-field)

UT 2004 verwendet keinen shader.
kommt darauf an auf welcher hardware das ganze läuft, kann die hardware shader werden sie auch verwendet, kann die hardware keine, können logischerweise auch keine shader verwendet werden.

ist hdr auch ein "shader-effekt"
HDRR ist kein effekt sondern erstmals nur eine höhere farbtiefe (typischerweise FP16/farbkanal) für den kompletten rendervorgang. das besondere an den HDR-formaten ist dass nicht nur der "sichtbare" farbbereich höher aufgelöst wird sondern auch werte die "heller als weiß" und "dunkler als schwarz" sind dargestellt werden können.
erst nachdem ein frame fertig gerendert ist wird dieses durch sogenanntes tonemapping (was mit einem shader gemacht wird) in ein darstellbares format umgerechnet (welches dann logischerweise nur mehr farbwerte die der monitor darstellen kann beinhaltet)