Discussion on GPU Ray Tracing,
Members - Reputation: 111
Posted 19 July 2012 - 09:57 AM
I am trying to write a basic ray tracer with CUDA.
What I have implemented now is simply 1 sample per pixel, and each sample is assigned to a cuda thread.
And each thread traces it's own ray.
I am writing to ask more advanced and efficient ways of doing this.
For example, what's the best the strategy for parallelizing all the tasks? When Multiple samples are used, should I assign each thread all samples in one pixel, or should I only parallelize computation within a thread and sequentially render all pixels?
And, I have also heard that it's better to trace ray in a breadth-first mannar? Why? any tutorial of how to do this?
Anyway, I will appreciate any advice and idea, thank you~
Moderators - Reputation: 18034
Posted 19 July 2012 - 03:00 PM
Members - Reputation: 1178
Posted 19 July 2012 - 05:11 PM
Also, there is the paper from Parker et al. presented at Siggraph in 2010 (though it is more explaining the general architecture of the engine).
I guess, there is more on the internet, perhaps more recent material.
Members - Reputation: 236
Posted 21 July 2012 - 06:18 AM
this is faster, because some threads may complited fasts instead another .
you can try use a g-buffer for speed up.
Edited by xma, 21 July 2012 - 06:19 AM.