Archive for the 'Experiments' Category

Experiments in Ray-Tracing, Part 4: Lighting

In my last post, I covered the absolute basics of ray-tracing, primary-ray-casting. I showed how to determine which object in the scene each pixel refers to, and hinted at surface colours and shadows. I’m now going to cover lighting in more detail. (Actually, thinking about it, I didn’t go into any detail about how to [...]

Experiments in Ray-Tracing, Part 3: Basics

Before I start an explanation of the basics of ray-tracing, it’s worth considering how images are formed in the real world. Imagine taking a photo with a camera. The scene you’re photographing will have one or more light sources (bulbs, the sun, the camera flash). Each light source emits a vast number of photons. Depending [...]

Experiments in Ray-Tracing, Part 2

Before I get into the meat of my ray-tracing experiment, I need to present a tiny bit of maths so I don’t need to explain in the main articles. I’m not going to try to prove anything here; this is all going to be math-as-technology, not math-as-theory. If you’re happy with operations such as vector [...]

Experiments in Ray-Tracing, Part 1

I was bored the other evening, so I decided to knock together a little ray-tracing application in C#. I’ve always wondered a couple of things about ray-tracing: How fast can you make a ray-tracer? How easy is it to code a tracer that produces realistic images? (You might think it’s a little odd to be [...]