Diskussion:Per-Pixel-Lighting
- Per-Pixel-Lighting = Gourad-Shading
- Per-Vertex-Lighting = Phong-Shading
die begriffe so wie sie verwendet werden sind in der wissenschaftlichen Literatur nicht ueblich, kommen die von DirectX? artikel umbenennen? --Tali 14:59, 12. Aug 2003 (CEST)
Die kommen so von NVidia, id Software, KryTek und aus der Literatur. Goraud Shading ist kein Beleuchtungsverfahren, sondern ein Verfahren zur Farbberechnung, ebenso Phong Shading. Ausserdem ist deine Zuordnung genau falsch herum. --Carter666 15:07, 12. Aug 2003 (CEST)
Ja und nein, das mit dem vertauscht stimmt, aber es gibt trotzdem einiges zu korrigieren: Was du unter Beleuchtungsmodell verstehst ist eigentlich Shading: Bei Vertex Shading werden nur die Farben der Vertices berechnet und dann die Pixelfarben mit Gouraud Shading interpoliert. Das alles hat aber mit Beleuchtungsmodellen nur indirekt etwas zu tun: Bei Phong-Shading zB wird für jedes Pixel (!) die normale errechnet, beleuchtet und dann entsprechend eingefärbt. Dafür braucht es, wenn man es mit OpenGL (1.5 kann das) oder DirectX9 macht Pixel-Shading. Das Phong Beleuchtungsmodell wird aber auch zB im Raytracing verwendet, es gibt auch noch eine Menge andere, zB Blinn oder Schlick. Ohne Pixel Shader gibt es keine Phong Beleuchtung in der Pipeline.
--InikOfDoom 21:28, 12. Aug 2003 (CEST)
Vollkommen korrekt dargestellt. Ich habe das jetzt soweit korrigiert --Carter666 22:04, 12. Aug 2003 (CEST)
ups, hab ich tatsächlich Phong und Gourad verwechselt? peinlich ;) aber man muss hier auch extrem aufpassen, nicht "Beleuchtungsmodell" vorschnell zu benutzen (Phong-Shading!=Phong-Beleuchtungsmodell) zum thema Beleuchtungsmodell sollte man wohl erstmal in lokal und global unterscheiden. hier wird im augenblick nur über lokale Beleuchtung geschrieben. --Tali 08:50, 13. Aug 2003 (CEST)
Anscheinend ist der Artikel etwas stehen geblieben: Per-Pixel-Lighting wird immer noch als Beleuchtungsmodell bezeichnet. Tatsächlich ist es dem Shading zuzuordnen. Ein paar andere Ungenauigkeiten: Per-Pixel-Lighting ist keineswegs neu, dies deklarieren nur Soft- und Hardwarehersteller so. Historisch gesehen ist Per-Pixel-Lighting eines der ältesten Verfahren: es resultierte direkt aus den ersten Beleuchtungsmodellen (die ja per se meist auf Per-Pixel Betrachtungen beruhen). Weil der Rechenaufwand bei der Berechnung der Beleuchtungsmodelle für Per-Pixel-Lighting für die damalige Hardware zu groß war, beschränkte man sich vor allem bei Scan-Line Renderern zunächst darauf, die Farbe für die Eckpunkte zu berechnen, dann die Farbe zweier Kantenpunkte der Scan-Line und letztlich den Scan-Punkt zu interpolieren. Das 1975(?) vorgestellte Phong Interpolated Shading (nicht zu verwechseln mit dem Beleuchtungsmodell von Phong) interpolierte auf die gleiche Art und Weise, jedoch nicht die Farbe, sondern lediglich die Normalen. Es setzte damit schon damals zwingend voraus, dass die Berechungen der Farbe (Beleuchtungsmodell) per Pixel erfolgen müssen. Hintergrund: Phong musste so vorgehen, da sonst sein Beleuchtungsmodell (Glanzpunkte) beim Gouraud-Shading völlig "untergegangen" wäre (zumindest bei großen Flächenstücken). Ein weiterer Punkt: Raytracing (hier sowohl als Beleuchtungsmodell als auch als Shading-Technik gesehen) kann gar nicht anders als auf Per-Pixel-Basis arbeiten. Bumpmaps und Schatten resultieren nicht aus dem Per-Pixel-Shading, sondern Per-Pixel-Shading ist zwingende Voraussetzung für diese (Bumpmaps und Schatten würde ich als Verfeinerung des Beleuchtungsmodells betrachten). F65.4 14:44, 15. Feb 2004 (CET)
Die im Artikel angegebene Berechnungsformel (Normalenvektor * Lichtvektor) hat nichts mit pixelgenauer Beleuchtung zu tun. Es handelt sich dabei um die Berechnungsvorschrift für Lambert's Beleuchtungsmodell. Per-Pixel-Lighting kann aber genauso mit anderen Beleuchtungsmodellen (Blinn etc.) verwendet werden. Darüber hinaus liefern Beleuchtungsmodelle keine Werte zur Aufhellung, sondern sie berechnen den Anteil des Lichtes der reflektiert wird. Somit wird müsste man eher sagen, das auf die Oberfläche treffende Licht wird abgedunkelt. In Bezug auf den Echtzeiteinsatz bei Consumer-Grafikkarten sollte erwähnt werden, dass viele Beleuchtungsmodelle erst mit der Einführung von programmierbaren Pixelshadern möglich wurde (nicht alle: das Ambient-Lighting-Modell funktionierte aufgrund seiner trivialen Formel auch vorher schon) - die DirectX-Versionsnummern sind dabei meiner Ansicht nach uninteressant und gehören in den Artikel über Pixelshader. Die Implementierung von Schattenmodellen benötigt nicht zwingend pixelbasierte Beleuchtungsmodelle: sowohl Stencil-Shadows, Shadow-Map-Shadows und Drop-Shadows können ohne die Berechnung des Beleuchtungsmodells für jeden Pixel umgesetzt werden. Auch ältere Echtzeitanwendungen, die keine Pixelshader benutzen verwenden diese Techniken. --Dma 13:55, 03. Jun 2006 (CEST)
Weiterleitung
BearbeitenAnhand des Artikels und der vorherigen Diskussion konnte ich keinen Unterschied zwischen Per-Pixel-Lighting und Phong Shading feststellen. Gibt es einen oder kann eine Weiterleitung angelegt werden? --Vierge Marie 18:27, 7. Mai 2008 (CEST)