I wonder what technology applications like Xara3D use to be able to perform real-time ray tracing.
How is such good quality rendering done in real-time?
I wonder what technology applications like Xara3D use to be able to perform real-time ray tracing.
How is such good quality rendering done in real-time?
You can find the tutorial Jacco Bikker made here: http://www.flipcode.com/archives/Raytracing_Topics_Techniques-Part_1_Introduction.shtml
It's kinda advanced since it goes through almost all important topics about Ray-Tracing, including Reflections, Refractions, Soft Shadows etc.
This might interest you: http://made.nhtv.nl/~bikker/
This is Jacco Bikker's website, he's currently building a leading realtime raytracing and pathtracing engine called Brigade 2 ( 1 was non GPU, 2 is now utilizing the GPU ). You can find a lot of material on his website regarding realtime raytracing.
Here's another option - NVidia provide a free GPU accelerated raytracing engine, but it only works on their GPUs.
Typically, its done via...
GPGPU(General-purpose computing on graphics processing units) languages such as CUDA(An Nvidea specific api) or OpenCL(Platform independent).
Doing the calculations in the fragment/pixel or compute shaders in raster graphics api's such as OpenGL or DirectX.
Or, if you really have to...
Even doing it on the GPU isn't very fast. Which is why we typically employ octrees and various other methods of minimizing ray-primitive intersections.
And incase your up to some reading... https://graphics.stanford.edu/papers/rtongfx/rtongfx.pdf