[compiz] Re: input transformations

Deron Johnson Deron.Johnson at Sun.COM
Mon Feb 5 08:18:20 PST 2007


David Reveman wrote:

> Why do we need a quad mesh to represent projective transforms? As far as
>
>I could understand all we would get out of using a quad mesh instead of
>a tri mesh would be that we could do some fancier interpolation. But I
>though that most OpenGL implementations were decomposing all GL
>primitives to triangles anyhow and it seemed most useful to have the
>input match the output. We could have an additional request for setting
>a quad mesh if that's desirable of course. Am I missing something here?
>  
>
At a basic level a quad is a figure comprised of two connected coplanar 
triangles.
In fact, all OpenGL implementations subdivide input quads into triangles 
to render
them. The problem with quads is that there are two ways to do the 
subdivision and
OpenGL never specified the method--so it is implementation dependent and 
therefore
fraught with problems. Triangles are much easier to work with because 
they don't
have this ambiguity. In fact, OpenGL ES doesn't even support quads--the 
only surface
primitive type it supports is triangles. Also, most of the work which 
has been done
with meshes is almost exclusively triangle meshes. There is nothing 
about a quad
mesh which cannot be represented by an equivalent triangle mesh. I would 
recommend
sticking to triangle meshes.


More information about the compiz mailing list