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