by Darius Kazemi, July 5 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

Rotating cubes on the network

RFC-186 is titled “A Network Graphics Loader”. It's authored by first-time RFC author Jim Michener, who is personnel working on the MIT Project MAC Dynamic Modeling Computer Graphics PDP-10.

The technical content

The Dynamic Modeling Computer Graphics computer at MIT Project MAC had an Evans and Sutherland Line Drawing System Model 1 (LDS-1) vector display. This RFC describes a way for network users to write graphics programs for the vector display, run them remotely, and get output from the program on their local host.

The way this happens is the LDS-1 can dump a list of all rendered line segments to a data format, and this data format is sent over the network. A remote user can send commands like “SETUP the following program, EXECUTE it 3 times, TRANSMIT the image back to me”.

A user might want to execute a program a bunch of times, with minor updates to variables between executions, to create animations, for example:

(It might be programmed to make an object appear to rotate.)  The user of the routine typically would want to set up the matrices and then "let 'er rip" with ten or twenty (or more) executions.

As these commands are sent, the DMCG computer sends back “ACKNOWLEGDE” messages so the user can be sure that each message has been received. (Though if there's a problem, an “ERROR” message with a special code depending on the error is returned to the user.)

Further reading

According to this 1973 Project MAC report, Michener did a ton of graphics-related work.

The LDS-1 was a vector display and apparently the first graphical device with its own GPU. I found this photo at this discussion between PDP-10 enthusiasts, where there are other photos as well.

Two men in suits lean on a computer about the size of a closet with a 20" display with some squiggles on it.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.