Manual de Apoio 2010
Manual de Apoio 2010
Manual de Apoio 2010
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.3.2 Tiras <strong>de</strong> Quadrados:GL QUAD STRIPDa mesma forma que a primitiva GL TRIANGLE SRTIP, a primitiva GL QUAD STRIP permite <strong>de</strong>senhar uma tira <strong>de</strong>quadriláteros pela adição <strong>de</strong> vértices aos quatro primeiros (Figura 4.17).Figura 4.17: Tiras <strong>de</strong> Quadriláteros4.3.3 Polígonos: GL POLYGONEsta primitiva permite o <strong>de</strong>senho <strong>de</strong> polígonos com um número variado <strong>de</strong> lados. No entanto, a restrição dosvértices serem complanares mantém-se (Figura 4.18).Figura 4.18: Desenho <strong>de</strong> PolígonosEsta restrição po<strong>de</strong> ser evitada pela utilização da primitiva GL TRIANGLE FAN em lugar da utilização daprimitiva GL POLYGON.4.3.4 Preenchimento <strong>de</strong> PolígonosAs duas formas mais utilizadas para preenchimento <strong>de</strong> polígonos são, a utilização <strong>de</strong> cores sólidas ou a aplicação<strong>de</strong> texturas. No entanto, da mesma forma que utilizámos os padrões <strong>de</strong> preenchimento <strong>de</strong> linhas, po<strong>de</strong>mosutilizar padrões <strong>de</strong> preenchimento (stippling) <strong>de</strong> polígonos.O padrão é agora <strong>de</strong>finido por uma matriz on/off <strong>de</strong> 32 × 32 bits (Figura 4.19).Para construir a máscara que vai ser utilizada para fazer o stippling utilizamos um array <strong>de</strong> 32 × 4 bytes 1 .Em vez <strong>de</strong> um array bidimensional é utilizado um array simples.O padrão po<strong>de</strong> ser aplicado activando o stippling <strong>de</strong> polígonos e utilizando um array do tipo <strong>de</strong>scrito emcima:byte [] pattern = {0x00 , 0x00 , 0x00 , 0 x00...0x00 , 0x00 , 0x10 , 0 x00};gl. glEnable ( GL2 . GL_POLYGON_STIPPLE );gl. glPolygonStipple ( pattern );Mais uma vez o array é <strong>de</strong>finido ao contrário, sendo o bit menos significativo, o primeiro bit da imagem, ouseja, a primeira linha correspon<strong>de</strong> à última linha da imagem.1 1byte = 8bit =⇒ 32 × 4byte =⇒ 32 × 32bit34