Claudio Ciccani wrote: > 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
Ok :) > 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. Ah, just thought it would be much more overhead splitting up a polygon than having quadrangles already. -- Best regards, Denis Oliver Kropp .------------------------------------------. | DirectFB - Hardware accelerated graphics | | http://www.directfb.org/ | "------------------------------------------" _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev