Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

11

02.02.2011, 07:53

Und anstatt bei 3. wieder Forward zu Rendern, kann ich hier Deferred Rendern.

Hm? Du musst bei 3 eigentlich nur noch den G-Buffer aus 1 und den L-Buffer aus 2 verrechnen. In 1 wird sowohl die Farbe, als auch die Normale gespeichert, das habe ich doch oben schon gesagt. Die musst du in 3 nur noch aus dem G-Buffer auslesen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

12

04.02.2011, 13:55

Naja, der Vorteil von LPPR in Bezug auf Speicher/Bandbreite ist ja gerade, dass im 1. Pass nur Tiefe und Normals gerendert werden und NICHT die Farbe, allenfalls noch ein Glossiness-Faktor / ... (Material-ID wäre auch möglich). Im 2. Pass wird dann das Licht akkumuliert, hier zumeist getrennt Diffus- und Glanzlicht, damit man im 3. Pass, in dem dann in der Tat NOCHMAL die Geometrie (nun mit Fokus auf Farbe) gerendert wird, etwas Flexibilität bei der Verrechnung hat, um so verschiedene Materialeigenschaften simulieren zu können.

Zitat von »"BlazeX"«

Das heißt doch, dass die gesamte Szenengeometrie doppelt gerastert wird. Das drückt doch, oder?
Oder einfach im 3. Pass den DepthBuffer des 1. Passes verwenden und per Depth EQUAL schreiben?

Klassisches Deferred Shading mit seinem fetten G-Buffer haut halt auch ordentlich rein. Und richtig, du solltest auf jeden Fall den Depth Buffer aus Schritt 1 nutzen, um alle verdeckten Pixel mit Early-Z sofort rauszufiltern. Im Übrigen hat man beim LPPR i.d.R. auch etwas weniger Berechnungsaufwand pro Lichtquelle.
alphanew.net (last updated 2011-06-26) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »CodingCat« (04.02.2011, 14:19)


Beiträge: 721

Wohnort: /dev/null

Beruf: Software-Entwickler/Nerd

  • Private Nachricht senden

13

04.02.2011, 14:46

Insgesamt ist der LPPR die logische Weiterentwicklung/Modifikation aufbauend auf Techniken vom Deferred Shading. In der Tat ist der LPPR besser für ältere Grafikkarten verträglich, weil zum Beispiel nicht einmal MRTs unterstützt werden müssen. Der bereits angesprochene Vorteil bei der Bandbreite ist auch ein massiver Vorteil. Ich würde sogar behaupten, dass ein LPPR leichter zu implementieren ist als ein guter bis sehr guter Forward-Renderer.

CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

14

04.02.2011, 15:34

Das hängt halt etwas von den Anforderungen ab. Zwar hat man eine wunderbare Entkopplung von Geometrie und Beleuchtung, die gerade bei der Shaderkomplexität die Zahl der notwendigen Programmkombinationen von m * s * n auf m + n für m verschiedene Geometriebeschaffenheiten und s * n verschiedene Lichtkonfigurationen mit s Lichtquellen und n Lichttypen reduziert, dafür sind Alpha Blending und Multisampling im Zusammenhang mit LPPR und Deferred Shading wirklich kein Spaß. Für den Spezialfall s = n = 1 aka Sonnenschein ist somit ein Forward-Renderer nach wie vor eine optimale Lösung. qed :D
alphanew.net (last updated 2011-06-26) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »CodingCat« (04.02.2011, 15:45)


Beiträge: 721

Wohnort: /dev/null

Beruf: Software-Entwickler/Nerd

  • Private Nachricht senden

15

04.02.2011, 15:52

Jede neue Technik bringt Nachteile mitsich. :P

Werbeanzeige