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.