IceT

The Image Composition Engine for Tiles (IceT) is a high-performance sort-last parallel rendering library. In addition to providing accelerated rendering for a standard display, IceT provides the unique ability to generate images for tiled displays. The overall resolution of the display may be several times larger than any viewport that may be rendered by a single machine.

IceT is currently available for use in large scale, high performance visualization and graphics applications. It is used in multiple production products like ParaView and VisIt. The IceT library is quite stable now. Although development has slowed, you can track it with the Ohloh project.

Downloads

You can get a copy of the IceT source by clicking below. The source has been quite stable for some time now, and there are no known major bugs.

You can also check out IceT through anonymous CVS access. (Thanks to Kitware, Inc. for hosting the code.)

cvs -d :pserver:anoncvs@public.kitware.com:/cvsroot/IceT login
(respond with empty password)

cvs -d :pserver:anoncvs@public.kitware.com:/cvsroot/IceT checkout IceT

If you find IceT useful in your project, please let me know. You are welcome to use IceT as you like free of charge, but it is helpful to know the impact IceT is having on the worldwide community.

Documentation

IceT now has a fairly complete Users' Guide. You can click on the link here to get a copy of the IceT Users' Guide and Reference. The IceT source also comes with a copy of the Users' Guide as well as installable man pages.

Publications

Here are a list of publications concerning the development or use of IceT. If you have something you would like to add, please let me know.

In addition, here are some publications describing applications using IceT for parallel rendering. Although not specifically about IceT, they provide evidence on the scalability of IceT.

The Name

There is some confusion about the correct name for IceT. It is sometimes IceT, sometimes ICE-T, and sometimes some combination thereof, like Ice-T. I officially now call it IceT, but if you like, you can call it whatever.

The history is as follows. I originally used the abbreviation MTIC for Multi-Tile Image Compositor. A colleague of mine insisted that I changed the name as no one would ever remember MTIC. Whatever the name, it should be pronounceable and therefore easy to remember. At the time I thought it was more important for an acronym to spell something meaningful (a view I no longer subscribe to) and thought very hard about some sequence of words that described the software and whose first letters spelled something meaningful.

After a long deliberation, I finally came up with the name Image Composition Engine for Tiles. Not only did it describe the system, but its acronym was synonymous with a popular chilled drink (or a fairly well known rapper/actor). My colleague was right. As soon as the name changed I started to hear other people talk about it by name in conversations and meetings as opposed to "that thing that Ken is working on."

The only issue was that in order to make the pronunciation obvious, I needed to hyphenate the name. Thus, the official name was ICE-T. After all, an appropriate acronym is in all caps, right (another view I no longer subscribe to)? Although most people had no trouble remembering the name, no one paid much attention to the writing (nor could you expect to). Thus, people wrote down whatever they thought makes sense to them. After seeing people write down IceT for years, I decided to finally give up and just write down that instead. I changed all my documentation to reflect that.

I swear, as soon as I made the change, I saw ICE-T from everyone else. Of course, that's not true. People were just writing whatever they felt like, and they continue to do so.