My path tracer back

Board: Home Board index Raytracing Visuals, Tools, Demos & Sources

(L) [2012/03/19] [ost by chriso] [My path tracer] Wayback!

I started work on a path tracer around 2 weeks ago, using Caustic's OpenRL to develop it and I thought I'd post a few demo shots!

[IMG #1 Image]
A cornell box test. I'm not convinced that my refraction code is entirely correct, especially because of the caustic.

And some sponza shots in (roughly) chronological order
[IMG #2 Image]
[IMG #3 Image]
[IMG #4 Image]
[IMG #5 Image]
The first 3 images are a little off in terms of colour due to the lack of 'proper' gamma correction, and the illuminated lion in the last is deliberate (trying to make materials emissive)

It seems to need around 30spp to look mostly noise free (apart from particularly shady areas), and it takes ~10 seconds per spp per frame to render the images @ 1280x720. I don't handle reflection/specular surfaces at the moment, but I'll get round to adding it soon!
[IMG #1]:Not scraped: https://web.archive.org/web/20210506104719im_/http://cjo20.net/output/cornell.png
[IMG #2]:Not scraped: https://web.archive.org/web/20210506104719im_/http://cjo20.net/output/output_64spp.png
[IMG #3]:Not scraped: https://web.archive.org/web/20210506104719im_/http://cjo20.net/output/side2_51spp.png
[IMG #4]:[IMG:#3]
[IMG #5]:Not scraped: https://web.archive.org/web/20210506104719im_/http://cjo20.net/output/output_453spp.png
(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/12] [ost by chriso] [My path tracer] Wayback!

I've been working on this a bit more recently.

First off, a 320x180 video of a cornell box at 1spp, 5-10fps:

[IFRAME n/a]

And some more interesting stuff
[IMG #1 Image]
[IMG #2 Image]
[IMG #3 Image]

Sadly nowhere near real time (about 10 seconds per 1spp frame), but my code is fairly unoptimised at the moment.
[IMG #1]:Not scraped: https://web.archive.org/web/20210506104719im_/http://cjo20.net/output/falloff_lighting.png
[IMG #2]:Not scraped: https://web.archive.org/web/20210506104719im_/http://cjo20.net/output/AO2.png
[IMG #3]:Not scraped: https://web.archive.org/web/20210506104719im_/http://cjo20.net/output/VC_DoF.png
(L) [2012/07/12] [chriso] [My path tracer] Wayback!

I've been working on this a bit more recently.
First off, a 320x180 video of a cornell box at 1spp, 5-10fps:



And some more interesting stuff
[IMG #1 Image]
[IMG #2 Image]
[IMG #3 Image]
Sadly nowhere near real time (about 10 seconds per 1spp frame), but my code is fairly unoptimised at the moment.
[IMG #1]:Not scraped: https://web.archive.org/web/20150329201945im_/http://cjo20.net/output/falloff_lighting.png
[IMG #2]:Not scraped: https://web.archive.org/web/20150329201945im_/http://cjo20.net/output/AO2.png
[IMG #3]:Not scraped: https://web.archive.org/web/20150329201945im_/http://cjo20.net/output/VC_DoF.png
(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