Note that there are some explanatory texts on larger screens.

plurals
  1. POSpeeding up global illumination using space filling curves - How does it works?
    text
    copied!<p>Just for learning purposes, I was looking at raytracing techniques. I recently discovered Global Illumation and its variants, reading at this amazing work by <a href="http://kevinbeason.com/smallpt/" rel="nofollow">Kevin Beason</a>. I did tried to port smallpt in another language (Lua).</p> <p>I got something working fine, so far, but it renders the scene too slowly in my opinion. So far, I digged over the internet, and i've seen in lots of technical papers covering the subject that this was the main problem of global illumination techniques, especially path-tracing.</p> <p>It seems to me there are methods to faster the process, such as spacing filling curves (Hilbert curves, for instance). Basically, they all divide the viewport into buckets (or tiles), and then command the render to process path-tracing on each single bucket in a specific order. Technically, I didn't look at how to implement Hilbert curves, but I would like to understand how, in practical terms, this can make the entire process faster ?</p> <p>My first assumption was, considering each bucket appart, the renderer was called on specific pixels, and then the others were samples using interpolation tricks, but actually, it seems that the renderer is called on each single pixel on the bucket.</p> <p>So, as a result, the renderer will process all the pixels of the map, which results in the same amount of work than two nested for loops (for each rows, each columns), in my humble opinion. So I do know i am obviously missing something, thus looking forwards some clean explanations.</p> <p>Thanks in advance.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload