Buscar

Fundamentos da Computação Gráfica Aula2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Fundamentos de Computação 
Gráfica 
 
Prof. Sérgio Piter – 2014 
E-mail: prof.sergiopiter@gmail.com 
	
  
Introdução	
  a	
  
Biblioteca	
  Gráfica	
  OpenGL	
  
Introdução à OpenGL 
 
Ø  OpenGL(Open Graphics Library) é definida como "um 
programa de interface para hardware gráfico". Na verdade, 
OpenGL é uma biblioteca de rotinas gráficas e de 
modelagem, bi (2D) e tridimensional (3D), extremamente 
portável e rápida. 
Ø  Usando OpenGL é possível criar gráficos 3D com uma 
qualidade visual próxima de um ray tracer. Entretanto, a 
maior vantagem na sua utilização é a rapidez, uma vez que 
usa algoritmos cuidadosamente desenvolvidos e otimizados 
pela Silicon Graphics, Inc. Em 1992, ela e líder mundial em 
Computação Gráfica e Animação em 
Ø  Biblioteca Gráfica – É uma API (Application Programming 
Interface), termo usado para classificar uma biblioteca de 
funções específicas disponibilizadas para a criação e 
desenvolvimento de aplicativos em determinadas 
linguagens de programação. 2	
Prof. Sérgio Piter 
Introdução à OpenGL 
3	
Prof. Sérgio Piter 
Ø  A OpenGL pode ser utilizada em qualquer sistema 
operacional, para produzir qualquer tipo de aplicativo, desde 
games até ferramentas de modelagem 3D ou programas de 
processamento de superfícies matemáticas. 
Ø  A OpenGL foi produzida com C e C++ em mente, mas pode 
ser utilizada para diversas outras com um alto nível de 
eficiência. 
Ø  OpenGL não é uma linguagem de programação, é uma 
poderosa e sofisticada API (Application Programming 
Interface) para criação de aplicações gráficas 2D e 3D. 
Introdução a OpenGL 
Ø  As aplicações OpenGL variam de ferramentas CAD 
a programas de modelagem usados para criar 
personagens para o cinema, tal como um 
dinossauro. 
Ø  Além do desenho de primitivas gráficas, tais como 
linhas e polígonos, OpenGL dá suporte a 
iluminação, colorização, mapeamento de textura, 
transparência, animação, entre muitos outros 
efeitos especiais. 
Ø  Atualmente, OpenGL é reconhecida e aceita como 
um padrão API para desenvolvimento de 
aplicações gráficas 3D em tempo real. 
Prof. Sérgio Piter 4	
Utilização 
Ø  Como uma API, OpenGL segue a convenção de 
chamada da linguagem C. Isto significa que programas 
escritos em C podem facilmente chamar funções desta 
API, tanto porque estas foram escritas em C, como 
porque é fornecido um conjunto de funções C 
intermediárias que chamam funções escritas em 
assembler ou outra linguagem [Wright 2000]. 
 
Ø  Apesar de OpenGL ser uma biblioteca de programação 
"padrão", existem muitas implementações desta 
biblioteca, por exemplo, para Windows e para Linux. A 
implementação utilizada no ambiente Linux é a 
biblioteca Mesa. 
Ø  Também existem implementações para os 
compiladores Visual C++, Borland C++, Dev-C++, 
Delphi e Visual Basic. Para obter as bibliotecas e a 
documentação de cada implementação acesse 
http://www.opengl.org/. 
Prof. Sérgio Piter 5	
Recursos Gráficos 
Ø  Entre os recursos gráficos disponíveis pelo OpenGL, podem 
ser destacados os seguintes: 
ü Modos de desenho de pontos; 
ü Ajuste de largura de linhas; 
ü Aplicação de transparência; 
ü Ativação/desativação de serrilhamento (aliasing); 
ü Mapeamento de superfícies com textura; 
ü Seleção de janela de desenho; 
ü Manipulação de fontes/tipos de iluminação e 
sombreamento; 
ü Transformação de sistemas de coordenadas; 
ü Transformações em perspectiva; 
ü Combinação de imagens (blending); 
Prof. Sérgio Piter 6	
Exemplo de 2D e 3D com a OpenGl 
Prof. Sérgio Piter 7	
Exemplo de Figuras Primitivas 
Prof. Sérgio Piter 8	
Industria de Jogos 
Ø  A indústria de jogos, em particular, começou a 
adotar cada vez mais a API Direct3D como padrão 
devido à sua quantidade de opções para 
desenvolvimento de efeitos visuais, e ao fato de 
que a maior parte dos jogadores utiliza o sistema 
Windows em seu PC. 
Ø  A maior parte dos games mais recentes e 
complexos graficamente utiliza a biblioteca para 
representar ambientes densos, extensos e 
bonitos, com um grau de realismo crescente 
Prof. Sérgio Piter 9	
Exemplo OpenGL 
Prof. Sérgio Piter 10	
Exemplo de Código usando OpenGL 
// A Simple OpenGL Project 
// 
// Simples exemplo utilizando a Biblioteca OpenGL 
#include <glut.h> 
 
void Draw() { 
 glClear(GL_COLOR_BUFFER_BIT); 
 glColor3f(1.0, 1.0, 1.0); 
 glBegin(GL_LINES); 
 glVertex3f(0.25, 0.25, 0.0); 
 glVertex3f(0.75, 0.75, 0.0); 
 glEnd(); 
 glFlush(); 
} 
 
void Initialize() { 
 glClearColor(0.0, 0.0, 0.0, 0.0); 
 glMatrixMode(GL_PROJECTION); 
 glLoadIdentity(); 
 glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); 
} 
 
int main(int iArgc, char** cppArgv) { 
 glutInit(&iArgc, cppArgv); 
 glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); 
 glutInitWindowSize(250, 250); 
 glutInitWindowPosition(200, 200); 
 glutCreateWindow("XoaX.net"); 
 Initialize(); 
 glutDisplayFunc(Draw); 
 glutMainLoop(); 
 return 0; 
} 
Prof. Sérgio Piter 11	
 
 
 
 
“É impossível para um homem aprender 
aquilo que ele acha que já sabe” 
	
   	
   	
  –Epíteto	
  
Prof. Sérgio Piter 12

Outros materiais