7 ms·
Corners Don't Look Like That: Regarding Screenspace Ambient Occlusion (2012)
- vanderZwan 8y agoJust noticed this was submitted a few times before (not surprisingly), apologies if this makes it superfluous. Only one of those times it actually got any traction and discussion: https://news.ycombinator.com/item?id=10105437 https://news.ycombinator.com/item?id=10105437
- Insanity 8y agoI actually think it is okay to repost if previous posts happened 'long' ago. There will always be new users discovering it, or old ones who missed it or don't remember it. I surely won't look at posts made a few years before I joined. Most importantly, it was an interesting read ;)
- dang 8y agoDefinitely not superfluous. On HN the coast is clear after about a year: https://news.ycombinator.com/newsfaq.html https://news.ycombinator.com/newsfaq.html.
- IBM 8y agoHi dang. Can you tell me why all my comments are automatically dead? I've sent a bunch of emails to hn@ycombinator.com asking about this but haven't gotten a reply to any of them.
- amelius 8y agoFunny that this guy is pouring so much effort into creating the perfect corner, while his actual house looks like a mess.
- jugg1es 8y agoThis is what programming does to you. It makes you take tons of pictures of corners to prove a point.
- mnw21cam 8y agoWell, it certainly bring new meaning to "corner case".
- posterboy 8y agoSuppose this is the original meaning, not strictly in the context of ambient occlusion though in general. Compare "edge case". Ironically though, with division by zero for example, it's more of a center case. Not to ruin a joke, but I wonder how far back this figure of speach goes. "extremum" is rooted in Lt. "exter", superfixially "ex-" + "-ter", with "ex-" derived from (reconstructed) PIE h1eǵhs or eḱs (out) [1] and "-ter" comparable to "inter". The derivation of "-ter" is uncertain and the whole reconstruction effort is a bit like reading tea leaves (oracles may follow strikt rules, too, you know). I'm going to go all out on a limp and suppose eks is related to h₂eḱ- (sharp), whence "edge" and Ger. "Ecke" (corner); And to h₂eḱs- (axis, axle), proabably related to h₂eǵ- (to drive) [to go out?]. IMHO it's most likely sound immitative of cutting, hence sec, ex, hack, axe, adze and so on. Suppose initially the problem was really a corner where it shouldn't be. Then what are you supposed to be doing? Cutting corners! [1] https://en.m.wiktionary.org/wiki/Reconstruction:Proto-Indo-European/h₁eǵʰs https://en.m.wiktionary.org/wiki/Reconstruction:Proto-Indo-E...
- 80386 8y agoh1eǵhs can't be related to h2eǵ-, since the laryngeals and plosive phonations are different. The plosive phonation distinction isn't as relevant here as the laryngeals - for one thing, the reconstruction h1eǵhs isn't certain, even by the Greek evidence - but the numbered laryngeals were entirely different consonants, which only form a class insofar as they all disappear in non-Anatolian IE. (Well, probably. Word-initial h1 may have been preserved in some cases in Albanian, and word-initial h2 may have been preserved in some cases in Iranian. HC- -CHC- can be reconstructed by the Greek and Armenian triple reflex (e.g. *h2ster on the evidence of Greek ἀστήρ and Armenian astł), but laryngeal loss probably occurred in the late IE period, after the beginning of the development of dialectal innovations like that and, if you buy it, Cowgill's Law in Germanic.) If it helps, you can use Kortlandt's values for the laryngeals: ʔeǵhs, χeǵ. The -ter suffix in "inter" and "exter" (of which "extra" is an ablative form) could be from the comparative suffix -teros. Wiktionary thinks this is true of "exter" but not "inter", I guess because cognates of "inter" are more widespread (although it could be a loan in Albanian, but probably not Indo-Iranian) - so it could've spread from there to "exter" by analogy, or influenced the comparative form. (Is there a good way to escape asterisks on HN?)
- skohan 8y agoThis is an interesting read, but I wonder if we're going to see SSAO/HBAO becoming less relevant in the near future with the prevalence hardware which can handle ray-tracing and other real-time global illumination techniques like voxel-cone tracing. SSAO has been a valuable technique in terms of adding a lot of depth to real-time renders with a relatively low cost/quality ratio, but at the end of the day it's more or less a neat trick which is not physically based. I suspect we will see it go the way of using billboards to approximate auras around string light sources. It added a lot of atmosphere in the late 90s/early 2000s, but the feasibility of real-time bloom (and more recently volumetric lighting techniques) have relegated it to the history books.
- dahart 8y agoAgreed, ray tracing will make SSAO less necessary. One of the goals of ray tracing is to be able to unify all the ad-hoc techniques like SSAO into one easier to use framework. Ray traced games might still have over-darkening though, at least initially. A lot of ray tracing code I’m seeing is using very short max distances for AO rays. This helps with both tracing performance and with noise. But I think looking at too small of a local neighborhood is a big part of what’s responsible for the over-darkening the author is pointing out. To get realistic corner darkening, you really need path tracing or some other global illumination rendering.
- londons_explore 8y agoMethods like Adaptive Raytracing [1] should allow raytracers to mix large and small max distances and use machine learning to spot the differences and estimate it for all the rays even though a tiny percentage of rays were actually to a large distance. [1]: https://2018gputechconf.smarteventscloud.com/connect/sessionDetail.ww?SESSION_ID=152094 https://2018gputechconf.smarteventscloud.com/connect/session...
- dahart 8y agoIt would be pretty interesting to use a neural network for AO! It's a good coincidence you linked to SSIM based adaptive sampling, I'm actually using the research you linked to: I implemented the OptiX API for SSIM prediction. So far, we've used it for choosing where to send more rays, but I'm not aware of anyone using it to adapt the max distance for AO rays. That might be fun & fruitful to try! I'm not certain, but I think in theory that capping the max distance will always bias the AO (to the extent that AO even makes physical sense). You can reduce the bias by mixing lengths, but I'm not sure if you can ever fully compensate for it. More importantly, it's always (theoretically) biasing to separate AO shading from the normal surface shading & lighting calculation. AO is a beautiful simple hack, but I'm not sure it will survive the future, especially as ray and compute budgets increase. I know I've seen other AI attempts to learn AO & global illumination, just googling a bit: http://theorangeduck.com/page/neural-network-ambient-occlusion http://theorangeduck.com/page/neural-network-ambient-occlusi... https://www.youtube.com/watch?v=z_zmRWxU-PY https://www.youtube.com/watch?v=z_zmRWxU-PY
- GraffitiTim 8y agoI think corners are probably more dark in games and movies than in real life, due to dramatic lighting. It's often an artistic choice. That doesn't address the cases where there are weird artifacts as he mentioned. Those can be a pain to avoid in game engines since you're often using lighting "hacks" (like SSAO and others) for performance reasons.
- patrioticaction 8y agoI wish that the ceiling and walls were painted the same color. I feel like it would've been more valuable with contrived models instead of a real apartment.
- chrisfosterelli 8y agoI'd love to see some in-game screenshots of where the author thinks it doesn't look realistic.
- giobox 8y agoThere’s some screenshots linked in a tweet at the start. Based on that tweet, I’d argue the engine used in Far Cry 3/4, as well as the one used for the dead island/dying light games, are some obvious examples of offenders I can think of, but I’d agree with the author that its missuse/overuse is pretty rife. AO was one of the primary shiny new things in game engine technology this generation, Nvidia also heavily pushed the tech as one of the new rendering features its recent GPUs are good at. Given this, I’m not surprised we saw some pretty questionable artistic direction with this stuff at times. It’s arguably now part of the PS4/Xbox One generation “aesthetic” in much the same way the over use of pixel shading effects can be argued to define the 360/PS3 era.
- chrisfosterelli 8y agoThanks for sharing! Maybe I'm missing where you're talking about, but in the OP I only see a link discussing the Halo effect and one discussing artifacts. I'll definitely keep an eye out for this in games now. It's easy to notice when something isn't photo realistic, but generally very hard for me (as a non-expert here) to pick out precisely why, so I appreciate this type of content.
- corysama 8y agoIt would be interesting to revisit this comparing reality vs “Groung Truth Ambient Occlusion”. http://iryoku.com/downloads/Practical-Realtime-Strategies-for-Accurate-Indirect-Occlusion.pdf http://iryoku.com/downloads/Practical-Realtime-Strategies-fo... Also, it's not entirely surprising that AO wall corners don't match his living room. AO models an environment with light coming in from all directions uniformly --as if you were inside of a giant, glowing white sphere. His living room walls may be lit indirectly. But, there is still a lot of directionality to the bounced light.
- peetle 8y agoHow commonly used is GTAO? Is it as practical to implement and performant as SSAO? I couldn't get much from reading the abstract.
- corysama 8y agoI don't think it's common. It is used at Activision. It has good performance. But, that's largely dependent on a temporal scheme that amortizes the cost across frames. https://research.activision.com/t5/Publications/Practical-Real-Time-Strategies-for-Accurate-Indirect-Occlusion/ba-p/10002180 https://research.activision.com/t5/Publications/Practical-Re...
- overgard 8y agoI agree it's not realistic, but to be honest... I kinda just like the look of ambient occlusion. The depth cues I think just really help.
- corruptio 8y ago> The tiny peak at the edge is probably because the edge between the two walls sometimes has white paint showing through, so it's not a lighting effect. I vaguely remember an old graphics professor mentioning that this peak would exist because of reflected light from the other wall, though I can't find any literature after some light googling. Is this a real thing, or am I crazy?