Cell-Shading mit DirectX
-
Hi,
wie kann man eigentlich Cell Shading unter DirectX erstellen? Gibt es da Tutorials? Oder hat vielleicht schon jemand ein Cell Shading Projekt gemacht? Also, Opensource, damit ich es mir anschauen kann
-
Hat keiner einen Tipp
?
-
Geht letzendlich genauso wie in jeder anderen API. Beim NVIDIA Effectsbrowser (oder wie auch immer das Teil heisst) waren IIRC solche Shader bei.
Ich hab mal ein kleine-schwarze-Haken-Shading gemacht, das sah recht gut aus.
Bye, TGGC (Der Held ist zurück)
-
folgende methode liefert zumindest die schwarzen umrandungen:
-d3ddevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW)
nur die polygone zeichnen die zur kamera zeigen
-objekt zeichnen
-d3ddevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_CW)
nur die polygone zeichnen die von der kamera weg zeigen
-d3ddevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME )
-objekt ohne belichtung und mit schwarzen material nochmals zeichnen.um den speziellen licht-effekt des cell shading zu erreichen müßte man für jedes vertex über das skalarprodukt (dot-product) von normale und dem vektor (vertexkoordinate-lichtposition) (beide normiert) einen farbwert (weiß-schwarz) ermitteln.
über shader (wie von tggc vorgeschlagen) würde das ganze sicherlich schneller laufen.
-
@mac_bu
du hast bei deiner Methode vergessen das Objekt zu skalieren.