GRASS (programming language)

related topics
{system, computer, user}
{math, number, function}
{film, series, show}
{work, book, publish}
{area, community, home}
{school, student, university}
{game, team, player}
{style, bgcolor, rowspan}

GRASS (GRAphics Symbiosis System) was a programming language created to script 2D vector graphics animations. GRASS was similar to BASIC in syntax, but added numerous instructions for specifying 2D object animation, including scaling, translation, rotation and color changes over time. It quickly became a hit with the artistic community who were experimenting with the new medium of computer graphics, and will remain most famous for its use by Larry Cuba to create the original "attacking the death star will not be easy" animation in Star Wars. A later version that was adapted to support raster graphics was known as ZGrass.



The original version of GRASS was developed by Tom DeFanti for his 1974 Ohio State University Ph.D. thesis. It was developed on a PDP-11/45 driving a Vector General 3DR display, and as the name implies, this was a purely vector graphics machine. GRASS included a number of vector-drawing commands, and could organize collections of them into a hierarchy, applying the various animation effects to whole "trees" of the image at once (stored in arrays). It was this version that was used for the Star Wars animation, if you re-watch this portion of the film you can see object trees popping into the image at various times.

After graduation, DeFanti moved to the University of Illinois, Chicago Circle. There he joined up with Dan Sandin and together they formed the Circle Graphics Habitat (today known as the Electronic Visualization Laboratory, or EVL). Sandin had joined the university in 1971 and set about building what he thought of as the video version of a Moog synthesizer, known as the Sandin Image Processor, or IP. The IP was an analog computer which took two video inputs, mixed them, colored the results, and then re-created TV output.

DeFanti added the existing GRASS system as the input to the IP, creating the GRASS/Image Processor, which was used throughout the mid-1970s. In order to make the system more useful, DeFanti and Sandin added all sorts of "one-off" commands to the existing GRASS system, but these changes also made the language considerably more idiosyncratic. In 1977 another member of the Habitat, Nola Donato, re-designed many of GRASS's control structures into more general forms, resulting in the considerably cleaner GRASS3.

In 1977 DeFanti was introduced to Jeff Frederiksen, a chip designer working at Dave Nutting Associates. Nutting had been contracted by Midway, the videogame division of Bally, to create a standardized graphics driver chip. They intended to use it in most of their future arcade games, as well as a video game console they were working on which would later turn into the Astrocade. Midway was quite interested in seeing the GRASS language running on their system, and contracted DeFanti to port it to the platform. A number of people at the Habitat, as well as some from Nutting, worked on the project, which they referred to as the Z Box. GRASS3 running on it became Zgrass. The work would never be released by Midway, but the Circle would produce machines based on it as the Datamax UV-1.

Full article ▸

related documents
Scalable Vector Graphics
Classless Inter-Domain Routing
Active Directory
Wikipedia:Free On-line Dictionary of Computing/C - D
Enhanced Interior Gateway Routing Protocol
File manager
Microsoft Excel
Control character
Memory leak
Visual Basic for Applications
Windows API
Race condition
Cocoa (API)
Common Object Request Broker Architecture
Filename extension
Java Virtual Machine
Wikipedia:Database download
IBM 1401
Blue Gene
Vector processor