(L) [2014/09/06] [tby ziu] [rectilinear grids] Wayback!Hi,
I have been working on rectilinear grid spatial subdivision for quite some time. I got a single-threaded CPU algorithm published at WSCG 2011. The algorithm was devised to be easily portable to parallel machines. Since that time I did a lot of work on creating an OpenCL demo engine based around it. I had a poster about it at EGSR 2014. Optimizing this has been quite a headache really. I spent the last year just optimizing the pipeline for rendering secondary rays and things like that.
Regardless here is one current result for the Fairy Forest scene:
regular grid 141x37x141:
[IMG #1 Image]
rectilinear grid 114x31x115:
[IMG #2 Image]
1024x1024 resolution, 16 ambient occlusion samples per pixel, diffuse shading. one color per triangle, per pixel lighting normals.
This acceleration structure basically can nearly double the framerate for grids on irregular scenes while having the same (good) performance as grids on scanned scenes with regular geometry.
It is not always faster than a well built BVH with SAH on some scenes but it gets closer to it than regular grids do while being also stupendously simpler and faster to build. Its performance parameter space on build time/render time lies inbetween grids and BVHs.
I am posting this here because I finally managed to optimize it well enough to get in the hundred Mray/s range.
[IMG #1]:Not scraped:
https://web.archive.org/web/20161005161732im_/http://i.imgur.com/82iDbVEl.png
[IMG #2]:Not scraped:
https://web.archive.org/web/20161005161732im_/http://i.imgur.com/bnRAbfAl.png
(L) [2014/09/06] [tby MohamedSakr] [rectilinear grids] Wayback!looks very cool  [SMILEY :)] , just 2 questions, which hardware you are using? (example GTX 780) , and what is the memory consumption for 10 million triangles?
(L) [2014/09/08] [tby ziu] [rectilinear grids] Wayback!>> MohamedSakr wrote:looks very cool   , just 2 questions, which hardware you are using? (example GTX 780) , and what is the memory consumption for 10 million triangles?
I am using a NVIDIA GTX Titan. The memory consumption for the grid acceleration structure for the 1 million triangle Buddha scene is 25 MB (uncompressed) or 14 MB (compressed with row-displacement-compression).
The triangles are stored with 4*3*3 bytes each so its like 36 MB per million triangles for the geometry.
You can roughly linearly extrapolate the numbers to 10 million triangles from that.