Doug MacMillan

Doug MacMillan has a long work history contributing to the advancement of many companies. He focuses on integrating creative workflow with highly specialized tools and technologies in computer graphics.

More? See the vimeo channel for Physical Computing projects and the splash page uses processing.js for an interactive display of old art.

My latest reel from December 2010 is intended for an audience who focus on marketing and promotion. It is primarily a breakdown of my history as a leader in animation and visual effects for advertising.

Going back to Siggraph 2006, my reel highlighted visual effects I'd done for motion pictures, specifically effects work.



Wooden clock

Clock faces are a fun project to implement in computer graphics. This movie shows a dump from an OpenGL python script that computes a new clock face each minute. The space is subdivided into pleasing shapes using a novel approach. Various wood textures are used and tinted to complete the composition.


Slate Maker

I wrote a python module that does optical kerning by calculating the area of negative space between letters. I put it to good use in the slate generator program. The all the lettering, including the large headlines are set on the fly.


Palette Generator

Many of my experients require colors to be defined using traditional relationships and categories. My color module has a realtime display to exercise itself. This image is a still frame from the program that continuously updates with randomized families of coordinated colors.



Texture and color are mixed in random rectangles that are continuously cross-dissolving and zooming. It's just eye candy, but was written to test the limits of handling large numbers of high resolution textures, and strategies to manage them.


Medical monitor

Using Python and OpenGL this example shows a perpetual graphics generator that was developed for an on-set monitor.

My friend was asked to provide a Quicktime movie of a patient monitor that would be used on set. Thinking that these types of graphics would be better if they ran forever, I wrote an Python OpenGL program that simulates one. This is a Quicktime dump of just a few seconds.


Snakes on a grid

As a test for a movie involving lots of snakes, this movie is a sample output from a simulation done using Python (appropriately) and PyODE, the Open Dynamics Engine. Realtime display was done using PyOpenGL. Each snake was a random number of sections, and each section has an angular motor hinge driven with a sine wave.


Realtime shader demo

Adjusting shader parameters should be done in realtime, so to demonstrate the potential, I wrote a PyQt app that has realtime shaders under the hood.


Martian Elements Generator

Screen graphics for a movie need lots of footage, sometimes using very simple elements that are skillfully blended with other treatments. I wrote this demo program using PyQt and PyOpenGL to show how I could produce lots of graphics and adjust them in realtime.