Sol Renderer

Two things I learned this year in school: 1) I like computer graphics, and 2) I hate C++. I decided to take a lot of the knowledge I gained from people like Henrik Wann Jensen and Wojciech Jarosz and start a renderer from scratch in a programming language that I like.

I went down the usual (short) list of such languages. Basically I try to write everything in Python unless speed is an issue, in which case I use C. So in a matter of 3 days I wrote Sol in C and it was fast and wonderful and far better than my Miro Renderer (minus some features). I was, however, missing the object-oriented-ness of C++. Why couldn't someone create a language like C, but with OO, and do it right? Well, for the most part, someone did. It's called D, and it's been around since about 1999. The port began. It took several weeks to finish the port, because I was distracted by this thing called school and I was kind of learning D in the process. I am very happy with how the D port turned out -- it performs almost exactly as the C version, according to my benchmarks.

Starting Small

I haven't implemented very many features in Sol yet. The plan is to create a solid, extendible platform. So, I can't show off any really spiffy images yet, but here are a couple screen shots just to prove that it works!

A Sphere on a Table

A sphere on a table.

Cornell Box

Cornell Box.

More To Come!

I will definitely be continuing work on this project. I hope to recruit Jamie Turner (see friends) and others in the D programming community to help out.

Recent Blog Entries

Powered by Blogger