Ambient occlusion
#1
Posted 18 April 2012 - 04:48 PM
Thanks
#2
Posted 18 April 2012 - 05:57 PM
#3
Posted 18 April 2012 - 06:24 PM
#4
Posted 18 April 2012 - 08:43 PM
#5
Posted 18 April 2012 - 09:27 PM
By the way, this is state of the art SSAO according to my rss reader:
http://publications....F3_With_STF.pdf
http://research.nvid...rance-algorithm
#6
Posted 18 April 2012 - 09:35 PM
#7
Posted 18 April 2012 - 10:29 PM
So what's best to do - simply performing true ambient occlusion with enough samples (I think jittered 32 samples is enough for nice low-frequency ambient occlusion), let's assume we can go with half screen size ambient occlusion buffer. So let's do the math - we have to do (at 720p) 230 400 * 32 samples per frame - totalling 7 372 800 local rays/s. And we need at least some decent 30 fps - thats totally 221 184 000 rays/s (221 MRays/s) ... this is not far from impossible.
At ompf.org mpeterson states, that "on dual sandy (3.06ghz) around 290mrays/s with ray length of 0.25 * scene-diag" (Fairy forest scene) which actually seems enough (note that 0.25 * scene-diag is quite large radius for AO and you'll most likely use much smaller one). Not mentioning that you can actually run ray tracing on GPU. Also the less radius, the more Mrays/s you will get - so you can get quite nice correct local AO at decent framerate
If you don't know how to speed up application, go "roarrrrrr!", hit the compiler with the club and use -O3 :D
#8
Posted 18 April 2012 - 11:54 PM
#9
Posted 19 April 2012 - 07:19 AM
#10
Posted 19 April 2012 - 09:21 AM
The screen space stuff is good, but not available on some platforms (you need render to texture which doesn't exist on a lot of mobile platforms)
#11
Posted 19 April 2012 - 11:48 AM
#12
Posted 19 April 2012 - 09:03 PM
#13
Posted 19 April 2012 - 11:26 PM
#14
Posted 20 April 2012 - 09:16 AM
Now render to texture is "optional" and only supported by opengl extensions, which of course means "not available" to anyone who has to write for multiple platforms.
Our engine creates a single binary that can run on all supported platforms, but we still have to have run time flags and platform dependant code to handle stuff that should have been a requirement rather than an optional feature.
#16
Posted 25 April 2012 - 12:32 PM
If you don't know how to speed up application, go "roarrrrrr!", hit the compiler with the club and use -O3 :D
#17
Posted 09 May 2012 - 06:08 PM
Video
There also were paper about indirect illumination with cone tracing of voxels, it also had AO only version running interactive framerates.
Basic idea is to voxelize environment, prefilter it (mipmaps) and use it for cone tracing. (further from point you go, smaller mipmap you use thus reducing need for lots of rays.)
Video
#18
Posted 10 May 2012 - 06:38 AM
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users













