-
Notifications
You must be signed in to change notification settings - Fork 3
GBuffers
Diffuse texture skrivs till RT1 på kanalerna R8G8B8, A8 lämnas till förslagvis specular nivån.
Objektets normal skrivs till RT2 på kanalerna R8G8B8, A8 lämnas tom.
- Ett optimerings förslag är att endast skriva X&Y för att sedan återskapa Z när man ska hämta ut normalen. En detaljerad beskrivning av metoden finns listad här, där finns även en detaljerad beskrivning av prestandan längst ner på sidan.
I det första passet ska alla objekt ritas ut och fylla de olika buffrarna.
- Diffuse, antal kanaler 3
- Normal, antal kanaler 3 (Möjligtvis 6 kanaler beroende på SSAO/Normalmaps. Komprimera?)
- Specular, antal kanaler 1 (Antagligen 3-4)
- Emissive, antal kanaler 1
Mer: Position/Velocity/Linear depth/...
Här kommer alla ljuskällor som kastar skuggor rita om ut sina skuggor till lika shadow maps. OBS! All geometri som ska kasta skuggor kommer behöva ritas en gång till.
http://asawicki.info/news_1283_cascaded_shadow_mapping.html
Ljuset kommer använda de fyllda buffrarna (Diffuse, Normal, Specular, Emissive, ShadowMaps) till att rita resultaten till en egen ljusbuffer.
Beroende på vad för efter effekter vi kommer fyllas denna på artikel på efterhand.
Förslag, i utritningsordning:
- SSAO, alt. SSDO
- (Utritning av partiklar kan tänkas behöva göras här om de inte ska påverkas av/påverka ambient occlusion, men påverkas av ljus/linseffekter som de nedan)
- Lätt Bloom, alt. Glow på emissive (både och?)
- Depth Of Field + Fog
- Colour Correction
- Lätt Chromatic Aberration
Rita ut debug-data. Bounding volumes och ray casts, t.ex.
LibRocket, AntTweakBar.