samuel-emrys / raytracer

A simple raytracer
0 stars 0 forks source link

Add gpu acceleration #2

Open samuel-emrys opened 2 years ago

samuel-emrys commented 2 years ago

Add the ability to offload the raytracing tasks to the GPU with a framework such as opencl, vulkan, vuda or sycl. Selection of this api will require further research.

samuel-emrys commented 2 years ago

It looks like this is substantially more complicated than I first anticipated. Most of these are very low level libraries that introduce substantial boilerplate and would require a refactor of existing maths as it appears that only the Eigen::Tensor object is supported in SYCL.

Some resources of interest:

It looks like using SYCL will require the usage of intels DPC++ compiler. It looks like using opencl or vulkan directly will require authoring shaders. Both look like they may require a substantial refactoring of current application architecture.

DPC++ seems to have some conan support, but is a proprietary compiler. Availability on arch linux seems patchy.