My journey of the first years…
First “computer”
I remember vividly my first encounter with a “computer”. I was a kid, around 10 years old (I don’t know the exact age) which is more than 40 years ago. There were no computers yet in the eighties. Well, there were, but not commonly available. No smart-phones, no smart-tv’s, … everything was not so technically advanced as now. So, what do you do as a kid? Well… I drew a keyboard on a piece of paper, and pretending that I was typing and “programming” my computer. I didn’t know what programming was when I was ten, so I was just playing. But what I knew is that I really liked computers.
Browsing in stores
When I was a bit older, 12 years or so. I went to computer stores (together with my father) and played on the computers that were displayed there. The ZX-Spectrum was one of the first computers I played with. I remember vividly the " programs" I wrote back then on those computers:
|
|
In case you don’t know, this is Basic. And… don’t forget the last semicolon on line 10, otherwise it would print all the lines on a new line. With the semicolon it prints the lines next to each other. Very important… ;-)
My first computer
Oh, I wished and dreamed that one of these days I would have a computer like that. And (I don’t remember the year - probably around 1983) a few days before Sinterklaas I saw my parents coming home with a big box with a computer inside. However, I wasn’t allowed to see it back then, as this was a Sinterklaas present, but I was thrilled… “Yes, yes, yes… I have a computer!”. So, on Sinterklaas I unwrapped my first computer: a MSX-1

Don’t compare those computers with the current ones, the specifications of my first computer were:
- Processor: Z80A (an 8-bit processor, running at 3.58 MHz)
- ROM: 32Kb
- RAM: 64Kb (Yes, 64 kilo bytes)
- Resolution: 256×192 (16 colours)
To load games (or any other program) I had to use a tape recorder with some cassette tapes. Loading a game took some minutes (yes, loading a 32Kb game took minutes:-)). And I played Knightmare, Kings Valley, Yie Ar Kung Fu, Road Fighter, The Goonies, etc. After 40 years I can still hum the melodies.
But gaming, well, that is nice. But I wanted to know how those computers worked. So I started to learn programming. First Basic (that was the standard language, and I already knew some Basic when I was strolling through all those computer stores). And later Z80 assembly (machine language). The Z80 was not such an advanced CPU, and the instruction set was not so complex, so I memorized the most common instructions from a book, such as (I still know some of them today):
|
|
But… Okay… this is directly (in binary form) executed by the Z80. I got that. But when I type in some Basic, what happens “under the hood”? There is some ROM code in the computer and that contains a Basic interpreter. Cool. But how does that work? So, when I was a kid I analyzed the ROM code and I understood the overall picture how a basic program was run. I even found the location in the ROM responsible for drawing circles.
And, as curious as I was, I also opened the casing to see what was inside. Ah, this is the cpu, and those are IC’s… nice!
My second computer
I was really fond of my MSX-1. I knew it from A to Z. But in the end, it was limited. So I was thinking to buy a new computer. Since I knew MSX-1 very well, I wanted its successor: an MSX-2. It was around 1987 (15 or 16 years old) and I earned some modest money by doing some summer holiday work. Using this money (and the father of a friend worked for Philips, so I got some discount…): I bought my second computer, a Philips NMS8245 which was brand new in the market.

The specifications were improved:
- 128Kb of RAM
- Improved graphics (256×212 - 256 colours)
- and… a floppy drive!
I did more or less of the same: playing some games (MSX-2 had much better graphics) and programming in Z80 assembly. I was also member of a computer club (together with a friend) and I saw a magazine from Germany with an amazing graphic. Wow, what is that? I copied the article and the source code. I typed in all the code from the copy that I made (note this was a paper copy). And after hours of typing… It didn’t work. But this was my first encounter with Ray-Tracing.
Education
I like computers, I like technology. So what to choose for my education…? mmmm… This was really hard. No… just kidding. It was already very clear for me that I would do something with computers and/or technology. So I chose TCK (" Technische Computer Kunde") at the Leonardo da Vinci in Eindhoven. There was not yet an IT branch at school, so I started with electronics and to first two years were general (i.e. no specialization). The third year was a year for internship. However, students who already planned to continue their education at a university, could skip the third year. So I did, because I knew I would continue. The fourth year I could specialize myself into “computers”.
After those 3 years I went to the Fontys Hogeschool, also in Eindhoven. There was a separate ‘Informatics’ branch at that time, but since I also had an combined hardware/software education before and because I love technology (did I already say that? ;-)) I wanted to continue with a combined hardware and software education. So I did.
And I loved it. Not only the programming parts, but everything.
Electronics, semi-conductor physics, fourier, la-place, I always had I drive to discover how things work.
As an example, electromagnetism, using the equations of Maxwell:
$$ \begin{aligned} \nabla\times\mathcal{E} = -\frac{\partial\mathcal{B}}{\partial t} \newline \nabla\times\mathcal{H} = {J} + \frac{\partial\mathcal{D}}{\partial t} \newline \nabla\cdot\mathcal{B} = {\rho_v} \newline \nabla\cdot\mathcal{D} = 0 \newline \end{aligned} $$
Wow, so this is how light behaves? Fascinating! Refraction, reflection, scattering, etc. etc. If a white light hits a surface, a part is refracted, another part is absorbed, and another part is reflected perhaps into different colors. How cool is that? And I can calculate everything with some formulae.
And probably this is where my interest of Ray-Tracing came from. Using a computer and a bunch of formulae I can calculate an image that is as natural as possible. Lighting, scattering, shadows, highlights, blur, etc. Perhaps I can create an artificially generated picture that is indistinguishable from a real photo? Mmmm… I found out pretty quickly that this is very difficult because the power of a CPU (computer) is limited, it’s impossible to calculate each and every ray, we have to do some optimizations. Moreover, the model how light interacts with surfaces is an approximation. Ideally, we want to solve the rendering equation:
That being said, I spent hours and hours implementing Ray-Tracers.