[Bf-committers] Render API follow-up

Yves Poissant ypoissant2 at videotron.ca
Fri Mar 20 13:00:59 CET 2009


From: Terrence Vergauwen
Sent: Friday, March 20, 2009 5:58 AM

> We have already done quite a bit of proactive research
> since a few years into CUDA and equiv technologies,
> and unfortunately it's not an architecture capable of
> running a practical raytracer.

More and more people are finding techniques to coax CUDA into doing 
raytracing including implementing BIH or Kd-Trees acceleration structures on 
CUDA. I believe it is important to keep following those efforts and learn 
the techniques.

That said, I agree that today version of CUDA have too many constraints to 
implement a true practical (read production) raytracer. Beside, choosing 
CUDA seems risky to me since this is a proprietary API. I would favor OpenCL 
which is much more general as it is not targetted only to GPU but also to 
multicore CPUs. But although nVidia, AMD and Intel have all announced that 
they would provide OpenCL support and drivers for their next generation 
GPUs, OpenCL is currently only at the stage of paperware for now.

Beside, using technologies such as CUDA or OpenCL is really truely 
meaningfull on the rendering side of the API. To me, though, the suggestion 
to use CUDA in the discussion about the API is better translated into a 
suggestion to think the next API in term of  multi-core environment, 
distributed rendering, cloud computing. I'm not sure how this would affect 
the API but it is good to keep the multi-threading on the backburner while 
designing the API. There are many things a renderer must do to render a 
scene. A lot of that can be processed in parrallel even at the data 
gathering and preparation stage. So an API designed to serve different 
aspect of data gathering, data preparation and rendering simultaneously and 
in parallel should be thought of during the API design.

Yves 



More information about the Bf-committers mailing list