My path tracer back
Board:
Home
Board index
Raytracing
Visuals, Tools, Demos & Sources
(L) [2012/03/22] [ost
by SonKim] [My path tracer] Wayback!Pretty awesome for 2 weeks worth of work! Are you aiming for real-time path tracing for games?
(L) [2012/03/22] [ost
by chriso] [My path tracer] Wayback!Thanks. I'd like to manage real time some day, although OpenRL only runs on CPUs right now, which makes it a little difficult. When Caustic have some hardware on the market it will be a more attainable goal.
(L) [2012/03/22] [ost
by ingenious] [My path tracer] Wayback!>> chriso wrote:When Caustic have some hardware on the market...
Yes, when?  [SMILEY :D] We haven't touched that subject in the new ompf yet [SMILEY ;)]
(L) [2012/07/13] [ost
by spectral] [My path tracer] Wayback!Hum,
Maybe it is me... but... it seems slow, on which hardware do you run it ?
(L) [2012/07/13] [ost
by chriso] [My path tracer] Wayback!It is running on an i7 920, no GPU acceleration at all.
(L) [2012/07/13] [ost
by spectral] [My path tracer] Wayback!I see...
I don't know caustic... but I was thinking it use GLSL and was running on the GPU through openGL only [SMILEY :-P]
(L) [2012/07/24] [ost
by sirpalee] [My path tracer] Wayback!What are your experiences with openRL? I always wanted to take a look at their SDK, but never had the time for that.
How easy to use? What about shader networking? Out of core data access?
(L) [2012/07/25] [ost
by chriso] [My path tracer] Wayback!>> sirpalee wrote:What are your experiences with openRL? I always wanted to take a look at their SDK, but never had the time for that.
How easy to use? What about shader networking? Out of core data access?
I've found OpenRL very easy to use. You submit the geometry using a very similar API to OpenGL, define some shaders and make a call to render. You get back a framebuffer (or several).
There are 3 types of shader: Vertex (self explanatory), Frame and Ray.
Frame Shaders are executed once per pixel in the output framebuffer - this is where you generate your eye rays (along with lens effects/ MSAA)
Ray Shaders are executed when a ray hits an object. Each primitive has a ray shader associated with it. The shader is called with information about the intersection point, along with the uniforms for that primitive. From here you can accumulate to the framebuffer for the current pixel and emit more rays in whichever direction you want. I'm not sure how well shader networking maps on to OpenRL - you can write functions to do whatever you want in the shader code, and call different functions in the shader depending on the properties of the primitive the ray hit, which I guess provides the same functionality as the shader network.
As for data access, you just submit the geometry and OpenRL handles all of the memory etc. I haven't tried rendering any truly huge scenes yet - the courtyard scene uses about 1.5GB of RAM on my machine while running.
back