ALGORITHM References Wanted: tri mesh clipping
James Helman
jim at baroque.Stanford.EDU
Mon Oct 15 10:24:52 AEST 1990
I'm looking for algorithms for clipping triangular meshes "on the fly"
against several "arbitrary" clipping planes.
Definitions:
triangular mesh: A sequence of vertices where each vertex and
the previous two define a new triangle
"on the fly": While drawing. Retaining minimal information
about what has already been drawn. Requiring
no information about subsequent vertices to
draw the clipped triangle corresponding to the
current vertex.
Solutions:
A) INDEPENDENT TRIANGLE CLIPPING: Recursively clipping and
subdividing independent triangles is straightforward and can be done
on the fly. This could be used by reverting to triangles when
clipped, but I'd rather stay with a mesh.
B) SINGLE CLIPPING: Clipping an entire triangular mesh against one
clipping plane can be done with a simple algorithm. But I don't
want to be making multiple passes and storing intermediate meshes.
C) DIRECTLY CLIPPING THE MESH ON THE FLY: I'm looking for algorithms
analogous to (A) for triangular meshes. It's a simple question, if
you don't think about it too much. So it should have a simple
answer ;-).
I figured out a reasonably clean algorithm which does (C). But it
is not optimal, at least not in triangle count. I'm looking for a
better way, i.e. one which generates fewer triangles and/or needs
less retained history and/or is more elegant.
I don't have references on any of these topics. (A) should be dusty
history. And I'm sure (B) and (C) are covered somewhere. I'd
appreciate references on *any* of them, but especially on (C).
Some graphics hardware (e.g. SGI's VGX) handles multiple clipping
planes. (If we had one, I wouldn't be asking these questions!) Does
anyone know how SGI does it?
Thanks,
Jim Helman
Department of Applied Physics Durand 012
Stanford University FAX: (415) 725-3377
(jim at KAOS.stanford.edu) Work: (415) 723-9127
More information about the Comp.sys.sgi
mailing list