Il giorno sab, 16/02/2008 alle 19.30 +0100, Denis Oliver Kropp ha
scritto:
> Claudio Ciccani wrote:
> > You written FillTrapezoid(), my brain received FillPolygon()!!
> 
> FillPolygon() would be the toplevel, but if I made up my UI from a bunch
> of quadrangles calling FillQuadrangles(), it would be much more efficient
> than a generic FillPolygon() which most likely has to tesselate your polygon
> using triangles, trapezoids or quadrangles. Well, it could be cached, and
> end up at the same thing, but if your polygons are changing too much or you
> have a lot of them coming and going, it would be better to use quadrangles,
> which would only need to be splitted in case the hardware only does triangles,
> or split up a second time for trapezoid based rasterizers, like Matrox 
> G-series.
> 
> Maybe I missed something and hardware directly supports arbitrary Polygons 
> nowadays.

OpenGL 1.1 compliant cards support polygon rendering (GL_POLYGON) and
polygon antialiasing (GL_POLYGON_SMOOTH); e.g. the R200 can antialias
lines and polygons, but not triangles and quads. Indeed antialiased
quads and triangles are not covered by the specification, therefore is
really difficult to find a card that supports them.
Thus FillPolygon() is definitively a better solution than 
FillQuadrangles() when supported in hardware.
Either when not supported, FillPolygon() allows the driver to choose how
geometry is rendered (i.e. using triangles, quads or both?) and
implement antialiasing according to the capabilities of the underlying
hardware.


-- 
Claudio Ciccani
[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://directfb.org


_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to