Alternativet förvirrade mig där jag hade valet mellan SSAO, HBAO och HDAO i Far Cry 3.
Att slå google inte ”t verkligen ge mig några svar eller gjorde det möjligt att aktivera varje alternativ och jämföra resultaten. Tydligen är jag blind eller något.
Först och främst, vilken är den bästa kvaliteten? För det andra, vad är den verkliga skillnaden mellan dessa alternativ?
H * AO erbjuder bättre kvalitet men med en ökad prestandatreff.
SSAO är mindre exakt men förbättrar bildkvaliteten med en mycket mindre prestanda straff.
Om du ska använda H * AO, enligt vad jag förstår ska du välja HDAO om du har ett ATI-kort eller HBAO om du har ett nVIDIA-kort.
HBAO och HDAO är i princip samma sak men olika leverantörsspecifika implementeringar.
Här är några BF3-skärmdumpar som kan hjälpa: http://www.reddit.com/r/gaming/comments/kwjtw/my_battlefield_3_screenshot_comparison_ssao_vs/
Jag rekommenderar att du använder länken de ger här: och använda markörknapparna för att snabbt bläddra fram och tillbaka mellan de tre skärmdumparna.
Du bör snabbt kunna identifiera var skuggningen sker mellan ingen, SSAO och HBAO.
Titta på de områden där föremål skär varandra. Till exempel, där golvet möter väggen, där en pelare möter taket, buskarna, bitarna av skräp på marken.
Jag tog mig friheten att ta en av bilderna och markera de områden du ska titta på medan du vänder fram och tillbaka.
Du kommer att märka att SSAO nyanser i samma områden, men det är MYCKET mindre uttalat.
Kommentarer
Svar
För det första är skärmutrymmeens ocklusion inte en fysiskt baserad effekt alls, så det finns inget realism argument. Effektsteori säger i princip att
Även om raytraced är det bara ett snabbt och smutsigt sätt att få fram små detaljer på modeller.
För det andra är alla tekniker i fråga bara iterationer av SSAO; alla fungerar som en postprocess efter att scenen har renderats. Detta innebär att skuggare måste göra något magiskt för att producera allt som är exakt från lite information som finns kvar efter rasterisering.
SSAO
Detta är den äldsta tekniken. Den antar att varje pixel inom en given skärmutrymme -radie är en möjlig tilltäppare.Detta approximeras ungefär genom att beräkna skillnaden mellan suddig och original Z (djup) buffert och mörkare resultat om suddig version har ett större värde.
Fallgropen för detta tillvägagångssätt är att den både falskt mörker och misslyckas med att upptäcka vissa funktioner. Du måste titta riktigt bra på denna pelare men du kommer att märka att medan taket är falskt skuggat på sidorna påverkas det inte vid korsningen.
Denna uppsats har några fler grafiska exempel.
HBAO
Denna algoritm försöker lösa SSAO-problem. Det görs genom att använda mer information, nämligen den normala kartan. Istället för att söka efter höljen runt en pixel i skärmutrymmet försöker den återställa små bitar av scenen och göra en mer informerad uppskattning av ljusstyrkan som borde vara där.
Du kan märka att taket mycket tydligt vänd nedåt också är pelaren mörkare uppe.
Ett papper av NVIDIA har lite mer information om det.
Slutsats
HBAO är en nyare algoritm, den ger mycket närmare approximationer av … en approximation.
Bilder är utdrag av dessa skärmdumpar .
Kommentarer
Svar
k1DBLITZs svar antyder att:
Detta kan vara sant för Battlefield 3, men så är det inte i Far Cry 3.
Mitt svar är baserat på vad jag har upplevt i spelet, liksom på den här artikeln från HardOCP .
Vilka är skillnaderna mellan SSAO, HBAO och HDAO i Far Cry 3?
Där är skillnader i hur de fungerar, hur de ser ut och hur de påverkar framraten. Jag kommer inte att beskriva hur de fungerar.
SSAO
SSAO skapar skuggor runt kanterna av objekt, ibland felaktigt (dvs runt kanterna på objekt som inte ligger nära varandra).
HBAO
HBAO resulterar i mindre felaktig skuggning än SSAO, men det är ibland för uttalad (det är ännu mörkare än SSAO i vissa områden), särskilt ar ound gräs, löv och blommor.
När det gäller påverkan på framerate är det praktiskt taget identiskt med SSAO på AMD-kort, och till och med väldigt lite snabbare än SSAO på Nvidia-kort.
HDAO
HDAO är mer subtil än SSAO och HBAO. Det är förmodligen det mest exakta, eftersom det är mycket mindre felaktig mörkare.
Att välja HDAO framför SSAO eller HBAO resulterar i en liten ramhastighet på AMD-kort och en betydande på Nvidia-kort.
Vilken ser bäst ut?
Svaret på denna fråga är subjektivt. HDAO är förmodligen det mest realistiska alternativet i Far Cry 3. Vissa människor föredrar dock SSAO, eftersom det resulterar i en mer kontrasterad bild, vilket kan vara mer smickrande för ögat.
Svar
HBAO innebär också användning av ögonbildsplantekniker för att simulera skillnaderna i irisstorlek när man tittar från vissa ljusnivåer till andra ljusnivåer.
HDAO gör inte detta.
Kommentarer