A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

OpenGL Computação Gráfica. O que é OpenGL? Uma linguagem de programação gráfica de baixo nível Projetada para gráfico interativo 2D e 3D Uma interface.

Apresentações semelhantes


Apresentação em tema: "OpenGL Computação Gráfica. O que é OpenGL? Uma linguagem de programação gráfica de baixo nível Projetada para gráfico interativo 2D e 3D Uma interface."— Transcrição da apresentação:

1 OpenGL Computação Gráfica

2 O que é OpenGL? Uma linguagem de programação gráfica de baixo nível Projetada para gráfico interativo 2D e 3D Uma interface para o hardware gráfico Descendente do GL Cínicos dizem que é GL com variáveis de nomes mais longos e sem gerenciamento de janela

3 Implementações Para Sparcs e Linux PCs tem o Mesa, uma implementação livremente disponível SGIs tem implementações SGIs ~ 1500% mais rápidas.

4 Como funciona? Um conjunto de variáveis de estado como cor, parâmetros de visualização corrente, largura delinha, propriedades de materiais, etc... Estas variáveis então se aplicam a todo comando de desenho subsequente Variáveis de estado possuem valores default no início

5 O que ele cobre? Primitivas OpenGLs são pontos, linhas e polígonos Não faz windowing. Use Xforms (FLTK?)... (ou outro qualquer).

6 Acertando uma janela de trabalho Coordenadas para os extremos glOrtho(left, right, bottom, top, near, far); e.g., glOrtho(0, 100, 0, 100, -1, 1); near & far devem ser sempre -1 & 1 (pelo menos por enquanto)

7 Limpando uma janela glClearColor(r, g, b, a); a is the alpha channel; set this to 0. glClear(GL_COLOR_BUFFER_BIT); glClear pode limpar outros buffers assim também, mas usamos por enquanto apenas o buffer de cor

8 Estabelecendo uma cor Todas as primitivas subsequentes serão desta cor. Modelo de cor Red, Green & Blue Components são 0-1 (normalizados) Nota: convenção de nomes OpenGL é: –gl [234][sifd][v] (args... ) –s - short, i - integer, f - float, d- double –v – ponteiro para um array

9 Desenhando um polígono glBegin(GL_POLYGON); Envie então os pontos construindo o polígono glVertex2f(x0, y0); glVertex2f(x1, y1); glVertex2f(x2, y2)... Diga que o polígono terminou glEnd(); Thats it.

10 Truques especiais No lugar de GL_POLYGON: –GL_POINTS: plot points –GL_LINES: draw lines –GL_LINE_LOOP: framed polygon Gouraud Shading: –Mude a cor entre cada comando e GL fará um shading suave entre as cores dos diferentes vértices. Fazendo Flush do pipeline : glFlush();

11 Desenhando uma caixa MakeWindow("Box", 400, 400); /*Sua rotina de criar janela*/ glOrtho(-1, 1, -1, 1, -1, 1); glClearColor(0.5, 0.5, 0.5, 1); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 0.0, 0.0); glBegin(GL_POLYGON); /* or GL_LINES or GL_POINTS... */ glVertex2f(-0.5, -0.5); glVertex2f( 0.5, -0.5); glVertex2f( 0.5, 0.5); glVertex2f(-0.5, 0.5); glEnd();


Carregar ppt "OpenGL Computação Gráfica. O que é OpenGL? Uma linguagem de programação gráfica de baixo nível Projetada para gráfico interativo 2D e 3D Uma interface."

Apresentações semelhantes


Anúncios Google