13.07.2015 Views

Manual de Apoio 2010

Manual de Apoio 2010

Manual de Apoio 2010

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

gl. glHint ( GL2 . GL_LINE_SMOOTH_HINT , GL2 . GL_NICEST );// Desenhar o Circulo <strong>de</strong> Dentro com Antialiasinggl. glBegin ( GL2 . GL_LINE_LOOP );for ( float a =0; a < 2f * GlTools . GL_PI ; a += .1f) {x = ( float ) Math . sin (a) / 2.2 f;y = ( float ) Math . cos (a) / 2.2 f;gl. glVertex3f (x, y, 0);}gl. glEnd ();gl. glDisable ( GL2 . GL_LINE_SMOOTH );gl. glDisable ( GL2 . GL_BLEND );O código em cima <strong>de</strong>senha um circulo sem antialiasing, <strong>de</strong>pois activa o blending e activa o antialiasing paraas linhas (GL LINE SMOOTH) e <strong>de</strong>senha o circulo mais pequeno. Adicionalmente o algoritmo escolhido para oantialiasing foi o que tem melhor aspecto final utilizando glHint(GL NICEST). Os algoritmos disponíveis para ocálculo do antialiasing são GL NICEST e GL FASTEST, sendo que o último tem um resultado visual mais fracoainda que seja mais rápido.6.2.1 MultisamplingApesar do aspecto visual ser melhorado pela utilização <strong>de</strong> antialiasing, esta não é a melhor escolha para tornaros objectos na cena mais realísticos. O GL POLYGON SMOOTH não é suportado em todas as plataformas e comoutiliza o blending termiamos que <strong>de</strong>senhar todas as nossa primitivas da frente para trás.Uma adição ao OpenGL 1 permite en<strong>de</strong>reçar esta “problema”. O multisampling consiste num buffer adicional.Neste buffer os pixeis <strong>de</strong> cada primitiva são amostrados 2 várias vezes, sendo o resultado mostrado como umúnico pixel.Se o nosso contexto OpenGL suportar multisampling, po<strong>de</strong>mos activá-lo utilizando:glEnable ( GL2 . GL_MULTISAMPLE );Figura 6.5: Normal vs Multisampling6.3 Nevoeiro (Fog)O OpenGL suporta a adição <strong>de</strong> nevoeiro ao cenário. A técnica utilizada pelo OpenGL para dar a sensação <strong>de</strong>fog consiste no blending <strong>de</strong> uma cor específica com a geometria no final <strong>de</strong> toda a computação. A quantida<strong>de</strong><strong>de</strong> blending <strong>de</strong>ssa cor (alias: nevoeiro) com cada objecto do cenário <strong>de</strong>pen<strong>de</strong> da distância <strong>de</strong>sse objecto aoobservador.A introdução <strong>de</strong> nevoeiro po<strong>de</strong> tornar ainda mais real a sensação <strong>de</strong> profundida<strong>de</strong>, uma vez que a visibilida<strong>de</strong>dos objectos é menor à medida que se afastam, o que acontece no mundo real. Po<strong>de</strong>mos activar o nevoeiroutilizando:glEnable ( GL2 . GL_FOG );1 Para versões > 1.32 sampled63

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!