A Ray Tracer - Part 2

Last time we build up the basics of the raytracer: some essential math and the corresponding function implementations and structures in the C programming language. We will expand the ray tracer this time to generate actual graphics and to generate these images with multiple spheres, light sources, and reflections.

Painter

A Ray Tracer - Part 1

I've always been fascinated with computer graphics. One of the first things I learned to code when I was a kid was a ray tracer. It was a simple and straight-forward assembly implementation on an early home computer, but it taught me a lot about how computers deal with graphics and just programming in general and it's connection to mathematics.

Raytrace Scene

Sabayon Linux and an HP Laptop

As a long time Linux user, and Gentoo in particular, I wanted to try a Gentoo derivative called Sabayon on my new used HP 6730b.

Tux Gentoo

MIPS 101

To truly understand how a computer (or rather, the processor) does what it does, I highly recommend trying out an assembly language. You might never need it in your professional life (unless you're an embedded coder, or when you're working with portable devices and need to use ARM NEON for example), but understanding assembly can give you more insight into the inner workings of a computer system and help you design better code in other programming languages.

RoboCup

A couple of days ago I started to clean up my laptop and found a whole folder full of software I wrote for the Botnia RoboCup Small Size Leage team (http://robotics.puv.fi). While most of the stuff is not very useful outside the team, I did find a simulator which was used principally to test the RRT algorithm for path planning, but also to test some basic strategies and as a teaching aid in a course on Object Oriented Programming.

RoboCup Logo