Hello,
I am starting development on my first GPU ray-tracer for use in almost every language and API (it runs as a vertex shader). I am interfacing the tracer for easy manipulation through lite-c!
Because this is my first tracer, I don't expect it to be the best in any way, but I'm sure it will help you create more realistic games and simulations.
As a preliminary idea, the tracer will take an array of either ENTITIES and calculate each polygon for tracing, or take an array of polygons themselves. Next the tracer will sort the polygons once per frame into a tree sorted by distance from the view. Finally, ray traces can be called from anywhere within a pixel or vertex shader and return the distance, polygon ID, and (in version 2.0) the texture color(s) of the hit target.
This contribution will be mainly for programmers proficient in hlsl and/or assembley languages and will only feature limited automatic interfaces to reduce calculations and reduce interference with the individual programmers' needs.
---
GPU ray tracing is a meathod similar to c_trace but runs exclusivley on the GPU in different pixel stages. The main difference between the two functions is the speed. On my machine (mid-high end Alienware laptop), I can trace about 60 rays for every pixel in a frame and get about 40-60 fps (depends on amount of polys regestered with tracer). This is about 77,760,000 traces on my high-res monitor per frame compared to 1,000 c_traces on my dual CPUs while maintaining 60 fps. This is about 77,760 times faster.
The ray tracer can be used from photon mapping, to radiosity, to physics and even AI.
Expect some time between now and the release, I am just starting today and even have to do a LOT of research

-Mike-