so ungefär stell ich mir das ganze auch vor.. aber ein echtes flat shading wäre das ja nicht, weil ich ja für eine linie 2 punkte habe, die ich einmal berechne und dann dazwischen alle werte als gradient darstelle
also wäre das dann phong ohne glanz und ambientes licht?
wenn ich dann die flächen per scanline rendering ausfüllen würde, müsste ich dann einfach nur die farbwerte der rand-linien (also die kanten des würfels) nehmen, und da dann gradienten "scannen" ?
noch zum verständniss, das ich die beleuchtungsmodelle jetzt richtig kapiert hab:
(mit unterstützung von wiki
http://de.wikipedia.org/wiki/Beleuchtungsmodell )
beim flat shading wird nur der einfallswinkel gegen die flächen-normale via Skalarprodukt berechnet, und somit die helligkeit ermittelt. der austrittswinkel wird nicht gebraucht, da die fläche das licht streut ( diffuses licht )
beim phong shading wird das genauso gemacht, blos kommt noch das diffuse licht der umgebung dazu (einfach eine konstante helligkeit dazugerechnet) + den glanz, der durch einfallswinkel UND austrittswinkel berechnet wird, der dann in richtung kamera liegt, wenn der pixel am hellsten glänzen würde.
wäre das dann so richtig?
ich hoffe ich kann dann die flächen, wenn ich jetzt mal keinen glanz will, mit scanlinerendering und meinen "schattierten wireframes" die würfelei beleuchten ?
normal zu meinem pseudocode, wie ich jetzt den shader bauen WÜRDE:
-> NormalVektoren der Kanten berechnen
-> Start und Endpunkt Vektoren der Kanten zur Lichtquelle berechnen
-> Flatshading für diese Punkte berechnen
-> Gradient zwischen diesen Punkten als Linie Zeichnen
-> Scanline Rendering, wenn alle Linien um eine Fläche gerendert sind ausführen, um die Flächen zu füllen (mit Start und Endwerten von den Linien-Gradient Colorwerten)
-> fertig
Ich kann auch mal das Projekt wie es jetzt aussieht, anfügen falls noch Fragen sind
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!