Jump to content


Member Since 10 Mar 2004
Offline Last Active Feb 20 2016 04:44 AM

#5108952 Arauna2 path tracer announcement

Posted by phantomus on 13 November 2013 - 06:06 AM

Really nice demo. Wish I could try it out (AMD here). I'm curious, are you planning on porting the code to OpenCL anytime soon or is it too deeply integrated with the CUDA platform? Also, how do the lens effects work, for instance, at the beginning of the video? Are they path-traced as well, with the optical system part of the geometry, or are they a post-processing step?


OpenCL support is highly desirable, and should be available at some point in time. That, or a generic alternative. A CPU tracer is already available (not in the demo); it produces the same output, but a lot slower (it was not built with CPU performance in mind, but with a focus on maintainability).


The post processing (hit F3 in the demo, it's off by default) is just your typical image post processing. The lensflare is pretty accurate; it's based on recent work by Prof. Eisseman of the Delft university. It does a pretty close approximation of physically correct lens flares.

#5108927 Arauna2 path tracer announcement

Posted by phantomus on 13 November 2013 - 04:35 AM

Have you or will you plan to implement any type of noise filtering?


Filtering is being researched at the moment (not by me though); it is far from trivial in this context. Normally you would do something in screen space, but a path tracer typically doesn't have a single depth per pixel (which is needed to find geometry edges), so that is of limited use. The best solutions so far filter in 'path space' (considering the full set of paths arriving at the camera), but this is compute- and memory intensive.


I would expect filtering to bring a significant improvement to path tracing at some point in time, but right now, it is not yet sufficiently researched.

#5108714 Arauna2 path tracer announcement

Posted by phantomus on 12 November 2013 - 09:41 AM

Hi all,


I posted a demo of the new Arauna2 renderer on ompf2.com:



A youtube of the demo can be found here:


A higher quality version of the video can be downloaded as well (warning: large; 850Mb):



And finally, the demo, which requires a decent CUDA device and 64-bit windows:



Arauna2 is an interactive path tracer, which produces images using a random process. As a result, images contain noise, which will fade away as the pixel values approach the 'expected value'. Arauna2 has been optimized to produce decent quality images very quickly, and converges to high quality images in seconds. It is intended for architectural walkthroughs, but something involving games would be even more awesome. As you can see in the demo, we are not there yet, sadly.


I believe Arauna2 is currently the fastest path tracer, but that is of course strongly dependent on requirements. Main limitation is the fixed shading path, which supports the full Phong model, specular, dielectrics, textures, normal mapping and emissive surfaces, as well as every sensible combination of those. Illumination is provided using light emitting surfaces, meshes, point lights, spotlights (including IES profile support) and directional lights.


- Jacco.

#5064194 Anyone here a self-taught graphics programmer?

Posted by phantomus on 23 May 2013 - 11:09 AM

Hm, I see a lot of familiar stories. Mine, briefly:

Got a zx-81 when I was 12, and overjoyed with it. Copied code from books and magazines, learned English that way. smile.png Then my grandpa bought me an MSX, which I really enjoyed; coded it on the assembler level. Got a game published as source code in a magazine when I was 16 or so. Then I got an Amiga, played games, no coding... Hated the thing. AMOS did work for me, but only slightly, because it was way too slow. Then I got a PC, and I used it like the MSX: Turbo Pascal with inline assembly, and finally sufficient performance for decent 3D (which I got interested in by a source in an MSX book that did some basic 3D). I spread my code using BBS'es, still no internet...

After that: software rasterization, at a very decent level; maybe someone remembers the Alpha engine, and Focus. Then the GPU arrived, which I managed to evade, because I didn't like the 'canned polygons'.. When shaders arrived I got a bit more interested, but in the meantime I discovered ray tracing, and the impossible performance claims made by Ingo Wald (realtime!). After a few years, I got to that level, which was incredibly rewarding; I got there by reading tons and tons of papers. 6 years later, I got my PhD basically on the side, topic was real-time ray tracing for games. smile.png Very proud of that.

In terms of education: none related; MSX time was books-only (from the library, mostly), PC time was books only too, plus some stuff from BBS'es. Then came the internet, which was amazing: I wrote the portal column for flipcode, and later a similar series on ray tracing. Obviously, I got tons back as well. After that I got my stuff from papers, which currently still is my main source of information. I did most of this in solitude, I think there was only one guy that really thaught me a few things (besides book authors, such as Michael Abrash).

Times have changed though: you can now actually get a decent education in games and graphics, which at least allows you to be around people with similar interests. Even if you can't do such a course, you will still be able to meet those people online, which makes a lot of difference. On the other hand, the amount of material to soak up is just incredible, far more than when I started, and I can totally imagine that this is daunting, to say the least. When I got into this, at least it was possible to know 'everything' about graphics (getting close to Abrash, Wald, Fatmap and Fatmap II). Right now, you either pick a niche, or you become a generalist in a narrow field.

Now I need to get back to adding spotlights to my path tracer. Graphics programming is such a joy!


- Jacco.

#5064028 Ray Tracing Blog & Forum

Posted by phantomus on 23 May 2013 - 12:05 AM


You don't have permission to access /blog/ on this server.


Oops, that should have been http://ompf2.com/blog.php .

Also linked to from the main page.

#5063920 Ray Tracing Blog & Forum

Posted by phantomus on 22 May 2013 - 01:39 PM

Hi all,


I am not sure how many of you know about this forum:


It started as a replacement for the great ompf forum, which focuses on ray tracing, both from an academic point of view and more hobyist oriented. Obviously you are welcome to join this forum to stay updated on the latest and greatest advances in ray tracing, both real-time and off-line.

Recently (as in: today smile.png ), we added a blog, which will provide daily (hopefully) news from ray tracing land. Url:



Hope to see you there,

- Jacco.


EDIT: fixed url to blog.

#4664679 Ray tracer performance

Posted by phantomus on 18 June 2010 - 04:57 AM

Ah but that CPU doesn't even have SSE2... In that case you can't even compile Arauna yourself; it has tons of hand-written SSE2 code. Sorry about that. Then again, your CPU is ancient, you should be grateful it still works. ;)

#4664580 Ray tracer performance

Posted by phantomus on 18 June 2010 - 12:35 AM

Arauna doesn't use a GPU at all. 800x800 @ 30fps would require (depending on the scene) a quadcore processor, ideally an i7. With one of those that performance level is not too hard to reach. Brigade does use the GPU, but it's a path tracer, so you can't speak in terms of fps, it's all about the number of samples per second you can produce. You basically balance resolution, noise and frame rate rather than just resolution and frame rate.

Arauna on AMD: That's a problem, sorry about that. I believe the version that was posted here does work.

#4664509 Ray tracer performance

Posted by phantomus on 17 June 2010 - 08:18 PM

Check this forum: http://ompf.org/forum . It's all about ray tracing, with an emphasis on real-time. Quite some ompf members lurk on GameDev too btw.

Shameless plug: Check my real-time ray tracer, Arauna: http://igad.nhtv.nl/~bikker . The release of a real-time path tracer is imminent, two more weeks. Name is Brigade. Check it out on YouTube:

And here's a video of a game done with Arauna:


#4246936 Well, I know a ray tracer won't work.

Posted by phantomus on 13 June 2008 - 09:52 PM

The advantage of implementing a software ray tracer instead of a fast software rasterizer is that the problem is much more focussed. You won't be battling on a dozen fields, instead you will 'just' be optimizing ray traversal, and shading. Once that is fast, everything else is a piece of cake. Read a few papers, implement something basic, and then optimize it for two years straight. :)

#4245639 Well, I know a ray tracer won't work.

Posted by phantomus on 12 June 2008 - 08:26 AM

Or check Arauna. http://igad.nhtv.nl/~bikker .

#3027183 hdr & ray tracing

Posted by phantomus on 28 April 2005 - 01:40 AM

That's what I get also under normal circumstances (well, I get 3200k rays/sec, so that would be approx 5M on your box). This scene has AA and the bloom filter, and that costs.

#3026313 hdr & ray tracing

Posted by phantomus on 27 April 2005 - 11:09 AM

Here's a shot: http://www.bik5.com/cloister_flare.jpg
Obviously it needs some work: It's slow, and the filter is far from perfect. But the effect is there.

#3026254 hdr & ray tracing

Posted by phantomus on 27 April 2005 - 10:30 AM

Yeah it looks pretty cool. :) I implemented the version I described: 16 horizontal, 16 vertical. Then a 40%/60% blend with the original pixel. The effect is quite good, and I'm not even using HDR textures yet (so it's just bleeding bright objects over darker ones).

Problem with all the stuff on the internet is that it seems to be focussing at pixel shaders, and that's quite anoying. I have to process every pixel in software.

BTW I did a nice trick to speed up the filter (probably everyone knows this already ;) ) :

Normally, you would sum 17 pixels, starting at (pos-8) and ranging to (pos+8). The next pixel could use this same sum, minus (pos-8), plus (pos+9). This way, the filter requires only 2 reads per pixel for the horizontal blur, and two for the vertical blur (although that requires vertical 'scanlines' for the vertical blur, which will probably trash the cache, so I omitted it there).

I'll post a screen shot tomorrow.

#413811 realtime raytracing demo

Posted by phantomus on 08 September 2006 - 10:39 PM

I have uploaded a demo of my realtime raytracer, Arauna: http://www.bik5.com/arauna_demo2.zip Instructions: 1. Unzip and run arauna_supersampling.exe to measure peak performance (~11M on my machine); 2. Open scene.txt and add '//' to the fifth line (speedtest); 3. Run arauna.exe to walk around the scene. Keys: A, S, D, W to walk forward/backward and strafe; cursor keys to rotate the camera; R and F to move down and up (reversed, sorry, forgot to fix). That's the basic stuff; there's more to try out using scene.txt, have a look at the file to see what's possible. The executables are optimized for architectural walkthroughs and perform bad for solo objects. Please post your timings! More info and ray tracing discussions: http://www.ompf.org/forum Greets Jacco Bikker EDIT: SSE2 required. Multiple cores supported.