ACTC - The Triangle Consolidator

ACTC - The Triangle Consolidator, by Brad Grantham

What is it?

ACTC makes triangle strips and fans out of independent indexed triangles. It's derived in spirit from my triangle stripper called meshifier. The current version is 1.1. There is a SourceForge project named actc representing this information and these files as well.

What can it do?

Using ACTC, a 500 MHz Pentium III can turn around 30,000 to 200,000 triangles into triangle strips and/or fans per second in an offline processing step. These triangle strips and fans can improve graphics card geometry performance approaching 3x, or a 200% improvement.

Here's a picture of a shuttle database without and with triangle strips and fans, plus the number of vertices per second and the speed on my 366 MHz Mobile Pentium II laptop with software rendering in frames per second. Keep in mind these are the exact same models, just with different amounts of work being done. Also keep in mind that (because of software rendering), the majority of frame time is spent copying the image from the back buffer to the front buffer.

11856 vertices transformed
4854 vertices transformed
11.7 frames per second
14.0 frames per second

Where is it?

The 1.1 tar.gz source archive is available:

How is it used?

I have included links here to the README, the manual, and the sample program, tcsample. Please also look at the copyright and license.

Where are bugs submitted?

There is a bug database on SourceForge.

Is there a mailing list?

There are two mailing lists managed on SourceForge; actc-users for application programmers using ACTC and actc-devel for developers wishing to improve or add to the internals of ACTC. You can subscribe to either mailing list using the following pages:

Why was ACTC created?

In 1995 I interviewed at Silicon Graphics, and one of my interview questions was how to turn a mesh of vertices into triangle strips. I wrote some code over a weekend as an answer to that question and I'd like to think it helped me get into SGI. Since then, I've been bothered by bugs and design flaws in that version, which I released on the web, so I wrote ACTC, a new, hopefully better designed, more flexible API for triangle stripping and fanning.