jump to navigation

Three ways to Parallelize a Raytracer 8 July 2008

Posted by Matthew Fulmer in Uncategorized.

I’ve done a bit of reading on how to parallelize raytracing, especially given the memory constraints of the cell. There are three approaches I’ve discovered so far:

  1. Distribute the rays: Each node runs a full raytracer on the full scene, and processes a subset of the rays from start to finish
  2. Distribute the processing: One node handles ray creation, another ray intersection, another shading, another shadows. Every node needs access to different aspects of the entire scene.
  3. Distribute the scene: Each node handles every ray segment that intersects it’s slice of the scene.



E Concurrency model 21 March 2008

Posted by Matthew Fulmer in Uncategorized.

The E Language has an interesting and very nice concurrency model. It is related to the Croquet/Tweak messaging model. This is an outline of it. I also made an animated demo of how promises work (more…)

Smalltalk debugger realization 8 June 2007

Posted by Matthew Fulmer in Uncategorized.
add a comment

As I was working on adding email notification to SqueakSource commits, I had the debugger open to a method with two very interesting objects. I wanted to send a few test messages involving those objects to see what kind of information I could coax out of them. But I couldn’t think of a way to have them both open in a workspace or inspector at the same time! How could I test them out?

Then it hit me. You can edit the method here in the debugger, test them out however I want, then save the messages I want into this method, and erase the ones I don’t. It is more than what I wanted, and I had to press zero buttons. I like interfaces like that

How not to port software 7 February 2007

Posted by Matthew Fulmer in Uncategorized.

Three weeks ago, I received an assignment from my research adviser to
add a new, simple motion model to our path tracing program. Quite a
simple assignment. However, I do not like the code base for several

  1. It only works under Visual Studio on Windows
  2. It is monolithic
  3. It is not modular

So I thought, why not get around to cleaning up this code? (more…)

A blog for the New Year 6 January 2007

Posted by Matthew Fulmer in Uncategorized.
1 comment so far

I am starting this blog primarily as a geek journal. I found last semester that I had a hard time remembering what I had done, and this blog is my solution to that problem. Maybe it will also make it easier for me to have a better home page than my old lame one.