Jump to content

Random Album Image

Direct illumination

Recent Entries

Recent Comments

My Gallery Albums

- - - - -

At the very beginning

4: Adsense

This is a journal about how a young student decided to start implementing a path tracer.

I'm Arjan, a 23 year old CSE master student from the Netherlands. Having worked for Triumph Studios (the creators of the Overlord and Age of Wonders series) and starting a one man software development company (without many projects, I can tell ya Posted Image), I do have at least some work field experience under my belt. So to spice up my humble portfolio, I decided to implement a path tracer.

Why? Because this whole physically based rendering thing seems awesome! No more cheating and hacking to approximate real world visual effects. Instead, let's try to simulate the behaviour of light as closely as possible.

So I got my hands on a copy of Physically Based Rendering: From Theory to Implementation. However, after the first 2 or 3 chapters, I felt like I was just copying how someone else had written his path tracer. I'd much rather be explained the basic concepts, implement those, see pretty pictures and then just improve from there on. This is why I put down the book and fired up the internet. I try to get familiar with the basic concepts and implement them. Whenever I'm stuck, I ask the lovely GameDev'ers around here. Posted Image

Now, it's image time! Every body loves pretty images! Or, well.. my first attempt wasn't all that pretty:
Posted Image

Turns out I messed up my intersection code. You can imagine my joy when I fixed it and came to this:
Posted Image

Now, a couple days later, I had found my time to implement a mirror material and anti-aliasing. Just look at how pretty those spheres are:
Posted Image

Well, that's all for now! In the future, I plan to implement more features and keep the world updated through this journal. Some of those features would be:
  • An extra direct lighting sample instead of just one random sample in a hemisphere
  • Dielectric material
  • More primitives, so far I only have triangles and spheres.
  • Camera with a lens instead of a pinhole camera
  • Some tree structure to speed up the intersection check
  • Support for participating media
  • Subsurface scattering
  • Run it on the GPU, with those fancy CUDA core thingies

Jan 11 2014 05:21 PM

Good luck! Implementing a path tracer is a wonderful journey!

Jan 11 2014 06:11 PM



Looking forward to seeing your progress!

Jan 17 2014 08:18 PM
I've yet to see something in physical based rendering or ray tracing or whatever they're calling it that looks better than just bump and specular mapping. Maybe I'm just jealous other people are doing something that might be better that I don't understand and might not understand for a long time.
Jan 18 2014 04:24 AM

Well, I guess accurate global illumination is done way better in PBR than the usual route. An ambient term and post-processing effects such as ambient occlusion do make up for something, though. Soft shadows, color bleeding and area lights would be yet another thing that are far more accurately approximated. I'm not sure about this one, but I rarely see actual refraction happening in rasterized applications. Let alone caustics. The same for sub-surface scattering.


But I'm new on the subject as well, so I'm free to be corrected. smile.png

Note: GameDev.net moderates comments.