Re: clipping and viewport mapping problem
- From: Kaba <none@xxxxxxxx>
- Date: Mon, 24 Jul 2006 01:01:29 +0300
This is
not enough however: you have ambiguity when an edge crosses the center
Actually, the problem is more philosophical. The problem is in the
definition of our shapes. We have used to define our geometry by using
polygons which share edges. The geometric description _is_ unambiguous.
But when we associate materials, each polygon might contain a different
texture. Additionally, we assume that each polygon owns its edges (and
vertices) and thus that its edges has the same material. When two or
more polygons do this to the same edge in parallel, we have an
ambiguity.
Now, using the normal rule, just what Dave suggested, this ambiguity is
solved in run-time. However, because the solving is based on screen
space orientation of the polygon, the solution is orientation dependent!
Here's a test to see this: render an image, make a 180degree roll with
the camera, render another image, then use an image processing program
to rotate the second image back 180degrees. When comparing, you should
see one pixel differences in polygon edges.
A true solution should be orientation independent. One such could be:
treat polygons as open sets and explicitly associate each edge with a
material. Similarly, treat edges as open sets and assign materials
vertices explicitly. That is, like the geometry is defined.
What do we gain by not going through this extra work? Clearly memory,
implementation clarity and a need to deal with degenerate geometric
entities.
--
Kalle Rutanen
http://kaba.hilvi.org
.
- References:
- clipping and viewport mapping problem
- From: vsgdp
- Re: clipping and viewport mapping problem
- From: Hans-Bernhard Broeker
- Re: clipping and viewport mapping problem
- From: Kaba
- clipping and viewport mapping problem
- Prev by Date: Re: clipping and viewport mapping problem
- Next by Date: Re: remove edge
- Previous by thread: Re: clipping and viewport mapping problem
- Next by thread: remove edge
- Index(es):
Relevant Pages
|