• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Viewport (OpenGL)
 

Viewport (OpenGL)

on

  • 5,969 views

Aula sobre Viewport com OpenGL para a disciplina de Introdução à Computação Gráfica do curso de Ciência da Computação da UFPB no período 2010.1

Aula sobre Viewport com OpenGL para a disciplina de Introdução à Computação Gráfica do curso de Ciência da Computação da UFPB no período 2010.1

Statistics

Views

Total Views
5,969
Views on SlideShare
5,968
Embed Views
1

Actions

Likes
0
Downloads
52
Comments
0

1 Embed 1

http://www.linkedin.com 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Viewport (OpenGL) Viewport (OpenGL) Presentation Transcript

    • Introdução à Computação Gráfica Aula – Viewport Herbet Ferreira herbet@di.ufpb.br 18/05/2010 1
    • Definição • A viewport ou janela de visualização é a área retangular da janela gráfica onde é desenhada a imagem final produzida. 18/05/2010 2
    • Viewport em OpenGL • glViewport(x, y, width, height) – Define o visor na janela, onde x e y especificam o canto inferior esquerdo e width e height as suas dimensões; – Por padrão, o visor ocupa a área gráfica total da janela; – Podem existir vários visores dentro da janela; – Para utilizar glViewport a função glMatrixMode deve ser habilitada com GL_VIEWPORT. 18/05/2010 3
    • Viewport em OpenGL • Como já foi referido, se glViewport(x, y, width, height) NÃO é EXPLICITAMENTE usado no programa, o visor por padrão é toda a área gráfica da janela; • Um exemplo de programa que retrata esta situação: – O visor por padrão tem a área 500x500 e é definido por glutInitWindowSize(500,500) no programa principal. 18/05/2010 4
    • Exemplo int main(int argc, char ** argv) { glutInit(&argc, argv); glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE); glutInitWindowSize( 500,500 ); glutCreateWindow(“Aula – Viewport”); glutDisplayFunc(draw); glutKeyboardFunc(keyboard); glutMainLoop(); return 0; } 18/05/2010 5
    • Viewport em OpenGL • Um visor é EXPLICITAMENTE definido pela função glViewport(x, y, width, height); • O visor pode ou não ocupar toda a área gráfica da janela de interface. • Podem existir vários visores na janela de interface simultaneamente. • A viewport deve ser definida antes da definição do tipo de projeção, sendo esta última podendo ser definida através de: – glutOrtho2D, glOrtho, gluPerspective 18/05/2010 6
    • Exemplo void draw(){ glClear ( GL_COLOR_BUFFER_BIT ); glMatrixMode(GL_VIEWPORT); glViewport(0, 0, 250, 250); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(300, 1, 0.5, 400); glColor3f(0, 0, 1); glRectf(0.0, 0.0, 10.0, 30.0); glutSwapBuffers(); } 18/05/2010 7
    • Exemplo void draw(){ glClear ( GL_COLOR_BUFFER_BIT ); glViewport(0, 0, 250, 250); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(300, 1, 0.5, 400); glColor3f(0, 0, 1); glRectf(0.0, 0.0, 10.0, 30.0); glViewport(250,250,250,250); glColor3f( 1, 0, 0 ); glRectf(0.0,0.0,10.0,30.0); glutSwapBuffers(); } 18/05/2010 8
    • Exercício • Construa um programa em OpenGL que utilize duas viewports. Na primeira viewport ative a função z-buffer. – Utilizar o exercício da aula anterior! 18/05/2010 9