FUNDAMENTOS E APLICAÇÕES. Luis Valente
|
|
|
- Márcia Belém Castanho
- 8 Há anos
- Visualizações:
Transcrição
1 FUNDAMENTOS E APLICAÇÕES Luis Valente 1
2 DIÁRIO DE BORDO OpenGL Aplicações Usando OpenGL Sistema de Janelas Primitivas Cores e Sombreamento Transformações e Projeções Composição de Objetos Mapeamento de Texturas Objetos Complexos Exemplo Conclusões 2
3 INTRODUÇÃO O que é OpenGL? API para acesso a hardware gráfico Projetada para funcionar em vários Sistemas Operacionais O que OpenGL oferece Comandos para criação e manipulação de gráficos 3D Incluem especificação de geometria, efeitos especiais, transformações em sistemas de coordenadas, entre outros. O que OpenGL não oferece Características dependentes do Sistema Operacional Janelas (e processamento de eventos) Fontes Interação com o usuário etc 3
4 APLICAÇÕES Games Doom 3 4
5 APLICAÇÕES Games Call of Duty 2 5
6 OPENGL Componentes GL GLU Versão Atual 2.0 Contém os comandos principais da API Contém comandos utilitários Características Máquina de estados OpenGL mantém internamente variáveis que a configuração atual (estado) de certas propriedades (ex: cor atual) Existem comandos para habilitar/desabilitar e consulta/alteração de valores associados aos estados API de modo imediato Os comandos fornecidos afetam estados do OpenGL imediatamente 6
7 USANDO OPENGL Instalação Windows Já está pronto para uso, em modo software, no mínimo Aceleração por hardware disponível através de driver especializado Arquivos de inclusão (.h) #include <GL/gl.h> #include <GL/glu.h> Arquivos para ligação com DLL Visual C++ : opengl32.lib, glu32.lib Onde obter Grande parte dos compiladores C/C++ já vem com os arquivos.h e os arquivos de ligação correspondentes Versão: Pode variar Visual C++: 1.1 gcc: 1.3 7
8 USANDO OPENGL Comandos GL GLU Prefixo glu 8
9 USANDO OPENGL Tipos de dados Exemplos glcolor3f : glcolor3f (1.0f, 1.0f, 1.0f) glcolor3fv : GLfloat color [3]; glcolor3fv (color); 9
10 SISTEMAS DE JANELAS Problemas! OpenGL não oferece ferramentas relacionadas a sistemas de janelas! É preciso abrir uma janela para o programa Onde as operações de desenho são visualizadas Eventualmente, é preciso tratar eventos do sistema Mouse e teclado Interação com o usuário Eventos de redimensionamento da janela Etc... Soluções? freeglut (free gl utility toolkit) Biblioteca multiplataforma que oferece serviços relacionados a sistemas de janelas Código aberto Existem diversos outros toolkits 10
11 SISTEMAS DE JANELAS Exemplo #include <GL/freeglut.h> void OnDisplay () { glclearcolor (0.0f, 0.0f, 0.25f, 1.0f); } glclear (GL_COLOR_BUFFER_BIT); glflush (); int main (int argc, char * argv []) { glutinitdisplaymode (GLUT_SINGLE GLUT_RGB); glutcreatewindow ( Exemplo 1 ); glutdisplayfunc (OnDisplay); glutmainloop (); } return 0; 11
12 SISTEMAS DE JANELAS Alternativas ao freeglut Utilizar diretamente a API do Sistema Operacional SDL G3D CPW Existem várias outras disponíveis na rede 12
13 PRIMITIVAS 13
14 PRIMITIVAS Forma geral glbegin (nome);... glend (); Vértices em 3D glvertex* () Importante Ordenação dos vértices dos polígonos deve ser consistente Padrão: Sentido anti-horário É possível especificar a ordem glfrontface (ordem) GL_CW: Sentido horário GL_CCW: Sentido anti-horário 14
15 PRIMITIVAS Modos de Renderização Wireframe: Sólido: glpolygonmode (GL_FRONT, GL_LINE); glpolygonmode (GL_FRONT, GL_FILL); Pontos: glpolygonmode (GL_FRONT, GL_POINT); Outros valores para face: GL_BACK GL_FRONT_AND_BACK Backface Culling glenable (GL_CULL_FACE); Z-Buffer glenable (GL_DEPTH_TEST); 15
16 CORES E SOMBREAMENTO Cores podem ser especificadas por primitiva glcolor3f (1.0f, 0.0f, 0.0f); glbegin (GL_TRIANGLES); glvertex3f (0.0f, 10.0f, 5.0f); glvertex3f (-10.0f, 0.0f, 5.0f); glvertex3f (10.0f, 0.0f, 5.0f); glend (); Cores podem ser especificadas por vértice glbegin (GL_TRIANGLES); glcolor3f (1.0f, 0.0f, 0.0f); glvertex3f (0.0f, 10.0f, 5.0f); glcolor3f (0.0f, 1.0f, 0.0f); glvertex3f (-10.0f, 0.0f, 5.0f); glcolor3f (0.0f, 0.0f, 1.0f); glvertex3f (10.0f, 0.0f, 5.0f); glend (); 16
17 CORES E SOMBREAMENTO Qual é a diferença? Modos de sombreamento Flat shading: glshademodel (GL_FLAT); Shading suave: glshademodel (GL_SMOOTH); * 17
18 TRANSFORMAÇÕES E PROJEÇÕES Transformações Viewport Modelagem Projeções Ortográfica Perspectiva 18
19 TRANSFORMAÇÕES E PROJEÇÕES Viewport Determina a área de desenho na janela glviewport (origem_x, origem_y, largura, altura); Exemplo glviewport (0, 0, 150, 100); origem: canto inferior esquerdo 19
20 TRANSFORMAÇÕES E PROJEÇÕES Utilização de matrizes para projeções e posicionamento/orientação Matrizes de modelagem e projeção são independentes Apenas um tipo de matriz pode ser usado de cada vez glmatrixmode (GL_PROJECTION); glmatrixmode (GL_MODELVIEW); Operações com matrizes afetam o tipo de matriz corrente Rotação glrotatef (angulo, x, y, z); Translação Escala gltranslatef (x, y, z); glscalef (x, y, z); Reiniciar a matriz glloadidentity (); 20
21 TRANSFORMAÇÕES E PROJEÇÕES Exemplo Desenhar um triângulo em (10, 10) glmatrixmode (GL_MODELVIEW); glloadidentity (); gltranslatef (10, 10, 0); glbegin (GL_TRIANGLES); glvertex2f (0.0f, 10.0f); glvertex2f (-10.0f, 0.0f); glvertex2f (10.0f, 0.0f); glend (); Desenhar um triângulo, rotacionado de 20º em Z glmatrixmode (GL_MODELVIEW); glloadidentity (); glrotatef (20.0f, 0.0f, 0.0f, 1.0f); glbegin (GL_TRIANGLES); glvertex2f (0.0f, 10.0f); glvertex2f (-10.0f, 0.0f); glvertex2f (10.0f, 0.0f); glend (); 21
22 TRANSFORMAÇÕES E PROJEÇÕES Projeção Ortográfica glortho (left, right, top, bottom, near, far); 22
23 TRANSFORMAÇÕES E PROJEÇÕES Projeção em Perspectiva glfrustum (left, right, top, bottom, near, far); gluperspective (fovy, aspect_ratio, near, far); 23
24 TRANSFORMAÇÕES E PROJEÇÕES Projeção Ortográfica Construção de uma projeção sem distorção // largura e altura da viewport largura =... altura =... glmatrixmode (GL_PROJECTION); glloadidentity (); float proporcao = largura/altura; if (proporcao >= 1.0f) glortho (left * proporcao, right * proporcao, bottom, top, near, far); else glortho (left, right, bottom / proporcao, top / proporcao, near, far); glmatrixmode (GL_MODELVIEW); glloadidentity (); 24
25 TRANSFORMAÇÕES E PROJEÇÕES Câmera glulookat (pos_x, pos_y, pos_z, alvo_x, alvo_y, alvo_z, up_x, up_y, up_z); Hierarquia de transformações glloadidentity (); glpushmatrix (); gltranslatef (0.0f, 10.0f, 0.0f); desenharesfera (); glpopmatrix (); glpushmatrix (); gltranslatef (10.0f, 0.0f, 0.0f); desenharesfera (); glpopmatrix (); 25
26 TRANSFORMAÇÕES E PROJEÇÕES Outras Transformações Transformações personalizadas glloadmatrixf (m); glmultmatrixf (m); As matrizes são orientadas a coluna ( column major ) Exemplo Transformação com resultado equivalente a de gltranslatef void translate (GLfloat x, GLfloat y, GLfloat z) { GLfloat * m = {1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, x, y, z, 1.0f}; } glmultmatrixf (m); 26
27 COMPOSIÇÃO DE OBJETOS Display Lists Listas de comandos OpenGL pré-processados Como criar Gluint id_lista = glgenlists (1); glnewlist (id_lista, GL_COMPILE);... // comandos do OpenGL glendlist (); Alternativa: Compilar e executar conforme a lista é gerada GL_COMPILE_AND_EXECUTE 27
28 COMPOSIÇÃO DE OBJETOS Display Lists Como executar glcalllist (id_lista); Como desalocar gldeletelists (id_lista, 1); Importante Uma vez criada, a lista não pode ser modificada (mas pode ser substituída) Alguns comandos não podem ser incluídos nas listas (como glnewlist) 28
29 MAPEAMENTO DE TEXTURAS Passos necessários Habilitar o uso de texturas glenable (GL_TEXTURE_2D); Carregar uma imagem do disco ou construir uma proceduralmente Importante: As dimensões das texturas precisam ser potências de 2 (até o OpenGL 2.0)! Transferir os dados da imagem para o OpenGL Especificar coordenadas de textura para os vértices 29
30 MAPEAMENTO DE TEXTURAS Identificadores de texturas GLuint id; glgentextures (1, & id);... // uso gldeletetextures (1, & id); GLuint textures [5]; glgentextures (5, textures);... // uso gldeletetextures (5, textures); Seleção da textura para uso glbindtexture (GL_TEXTURE_2D, id); A partir deste comando, todas as operações sobre texturas fazem referência ou afetam a textura representada por id. 30
31 MAPEAMENTO DE TEXTURAS Transferindo uma imagem para o OpenGL glteximage2d (GL_TEXTURE_2D, nível de detalhe, número de componentes de cor, largura, altura, borda, formato, tipo de dados do array, array contendo os dados da imagem ); Nível de detalhe: Usualmente, é zero; outros valores são usados para especificar mipmaps (avançado) Número de componentes de cor: Número de valores de cores para cada pixel; ex: RGB = 3, RGBA = 4 Borda: Indica se a imagem possui borda; pode ser 0 ou 1 Formato: Indica o tipo de cor da imagem; ex: GL_RGBA, GL_RGB, GL_LUMINANCE, etc Tipo de dados do array: GL_UNSIGNED_BYTE, GL_FLOAT, etc. 31
32 MAPEAMENTO DE TEXTURAS Exemplo: Carregar uma imagem RGB de 64x64 do disco e transferí-la para o OpenGL unsigned int * buffer; GLuint id;... // aloca buffer para imagem e carrega imagem do disco glenable (GL_TEXTURE_2D); glgentextures (1, & id); glbindtexture (GL_TEXTURE_2D, id); glteximage2d (GL_TEXTURE_2D, 0, // nível de detalhe 3, // número de componentes de cor 64, // largura 64, // altura 0, // borda GL_RGB, // formato GL_UNSIGNED_BYTE // tipo de dados do array buffer // array contendo os dados da imagem ); 32
33 MAPEAMENTO DE TEXTURAS Especificar coordenadas de textura gltexcoord2f (s, t); Coordenadas de textura (s,t) variam de 0.0 a 1.0, inclusive O que acontece se os valores forem maiores do que 1.0? A textura é truncada (GL_CLAMP) A textura é repetida (GL_REPEAT) * Como especificar gltexparameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, modo); gltexparameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, modo); 33
34 MAPEAMENTO DE TEXTURAS Alguns outros parâmetros Filtro de redução (usado quando a textura é maior do que o polígono) gltextureparameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filtro); Filtro de ampliação (usado quando a textura é menor do que o polígono) gltextureparameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filtro); Alguns filtros disponíveis GL_NEAREST: Utiliza o texel mais próximo (vizinho) do pixel que está sendo mapeado; é o mais rápido porém o de menor qualidade GL_LINEAR * : Utiliza interpolação linear Modos de textura GL_MODULATE *: Interpola a textura com informações de iluminação e cor (modo padrão) GL_DECAL: Utiliza a textura ignorando informações de iluminação e cor dos polígonos gltexenvi (GL_TEXTURE_ENV, GL_TEXTURE_MODE, modo); 34
35 MAPEAMENTO DE TEXTURAS Exemplo: Desenhar um quadrado com mapeamento de textura glbindtexture (GL_TEXTURE_2D, id); glbegin (GL_QUADS); glcolor3f (1.0f, 1.0f, 1.0f); gltexcoord2f (0.0f, 0.0f); glvertex3f (-10.0f, -10.0f, 0.0f); gltexcoord2f (1.0f, 0.0f); glvertex3f (10.0f, -10.0f, 0.0f); gltexcoord2f (1.0f, 1.0f); glvertex3f (10.0f, 10.0f, 0.0f); gltexcoord2f (0.0f, 1.0f); glvertex3f (-10.0f, 10.0f, 0.0f); glend (); 35
36 ALÉM DE LINHAS E TRIÂNGULOS Quadrics Possibilitam o uso de objetos de nível mais alto, como esferas e cilindros Como criar GLUquadricObj * obj = glunewquadric ();... // uso gludeletequadric (obj); 36
37 ALÉM DE LINHAS E TRIÂNGULOS Parâmetros que podem ser modificados Estilo de desenho: gluquadricdrawstyle (obj, estilo) GLU_FILL: Sólido GLU_LINE: Wireframe GLU_SILHOUETTE: Contorno GLU_POINT: Somente os vértices Modo de geração de vetores normais: gluquadricnormals (obj, modo) GLU_NONE: Vetores normais não são gerados GLU_FLAT: Vetores são gerados para criar uma aparência facetada GLU_SMOOTH: Vetores são gerados para criar uma aparência suave Orientação dos vetores normais: gluquadricorientation (obj, orientação) Normais apontam para for a (GLU_OUTSIDE) ou para dentro (GLU_INSIDE) Indicar se coordenadas de textura devem ser geradas automaticamente: gluquadrictexture (obj, flag) Sim (GL_TRUE) ou não (GL_FALSE) 37
38 ALÉM DE LINHAS E TRIÂNGULOS O que pode ser desenhado Cilindros: glucylinder (obj,...) Discos: gludisk (obj,...) Discos parciais: glupartialdisk (obj,...) Esferas: glusphere (obj,...) 38
39 EXEMPLO Desenhar um quadrado e animá-lo dentro de um volume pré-definido #include <GL/freeglut.h> float quad_x = 0.0f; float quad_y = 0.0f; float vx = 0.01f; float vy = 0.005f; void OnUpdate (); void OnResize (int width, int height); void OnRender (); void OnKeyPress (unsigned char key, int x, int y); void InitGL (); void main () { glutinitdisplaymode (GLUT_DOUBLE GLUT_DEPTH GLUT_RGB); glutcreatewindow ( Exemplo 1 ); glutdisplayfunc (OnRender); glutreshapefunc (OnResize); glutkeyboardfunc (OnKeyPress); glutidlefunc (OnUpdate); InitGL (); } glutmainloop (); 39
40 EXEMPLO void OnUpdate () { quad_x += vx; quad_y += vy; if (quad_x > 10.0f quad_x < -10.0f) vx = - vx; if (quad_y > 10.0f quad_y < -10.0f) vy = - vy; } glutpostredisplay (); void OnResize (int width, int height) { glviewport (0, 0, width, height); glmatrixmode (GL_PROJECTION); glloadidentity (); glortho (-12.0f, 12.0f, -12.0f, 12.0f, -12.0f, 12.0f); } glmatrixmode (GL_MODELVIEW); glloadidentity (); 40
41 EXEMPLO void OnKeyPress (unsigned char key, int x, int y) { switch (key) { case 'q': case 'Q' : exit (0); break; } } void InitGL () { glenable (GL_DEPTH_TEST); glenable (GL_CULL_FACE); glclearcolor (0.0f, 0.0f, 0.0f, 1.0f); } glmatrixmode (GL_MODELVIEW); glloadidentity (); 41
42 EXEMPLO void OnRender () { glclear (GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT); glloadidentity (); } gltranslatef (quad_x, quad_y, 0.0f); glcolor3f (1.0f, 0.0f, 0.0f); glbegin (GL_QUADS); glend (); glvertex3f (2.0f, 2.0f, 0.0f); glvertex3f (-2.0f, 2.0f, 0.0f); glvertex3f (-2.0f, -2.0f, 0.0f); glvertex3f (2.0f, -2.0f, 0.0f); glutswapbuffers (); 42
43 CONCLUSÕES Existem muito mais coisas Isso foi só um aperitivo do que o OpenGL tem a oferecer Links Site oficial: Minha página: Tutoriais de OpenGL
OpenGL Um tutorial. Luis Valente. Instituto de Computação - Universidade Federal Fluminense [email protected]. Dezembro, 2004
OpenGL Um tutorial Instituto de Computação - Universidade Federal Fluminense [email protected] Dezembro, 2004 Resumo OpenGL é uma biblioteca para modelagem e visualização tridimensional em tempo real,
Texturas. Aula 7. Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto. Paulo Gandra de Sousa
Texturas (introdução) Aula 7 Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Paulo Gandra de Sousa [email protected] Conteúdo Configuração de texturas Utilização de texturas
n À primeira vista: basta desenhar n Uma subrotina para desenhar cada tipo de objeto n Mas... n Como fazer interação? n Como estruturar a cena?
Programação Gráfica Computação Gráfica OpenGL Renato Ferreira À primeira vista: basta desenhar Uma subrotina para desenhar cada tipo de objeto Mas... Como fazer interação? Como estruturar a cena? Como
OpenGL, GLU e GLUT. GLUT (OpenGL Utility Toolkit) OpenGL. Linguagem. OpenGL. Esqueleto de um programa em PyOpenGL
OpenGL, GLU e GLUT http://www.opengl.org/resources http://pyopengl.sourceforge.net GLUT (OpenGL Utility Toolkit) O GLUT é uma biblioteca de rotinas independentes do SO, que fornecem as ferramentas necessárias
PROGRAMAÇÃO OPENGL LIVRO: TEORIA DA COMPUTAÇÃO GRÁFICA
PROGRAMAÇÃO OPENGL PROGRAMAÇÃO OPENGL Componentes Oficiais GL GLU Não oficiais GLUT PROGRAMAÇÃO OPENGL Disponível em várias linguagens Delph Visual Basic Java C/C++ GLUT http://www.opengl.org/developers/documentation/glut/index.html
OpenGL. http://www.opengl.org. Alberto B. Raposo
OpenGL http://www.opengl.org Alberto B. Raposo OpenGL: o que é? API Interface para programador de aplicação Aplicação API abstrata API Hardware & Software Dispositivo de saída Dispositivo de entrada Por
Computação Gráfica - 13
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 13 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Computação Gráfica - OpenGl 02
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - OpenGl 02 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti
Introdução a OpenGL. Renato Rodrigues Oliveira da Silva Danilo Medeiros Eler
Introdução a OpenGL Renato Rodrigues Oliveira da Silva Danilo Medeiros Eler Adaptado do material de Marcela X. Ribeiro Maria Cristina F. de Oliveira Rosane Minghim Sumário Introdução Núcleo OpenGL, GLU,
Computação Gráfica - 13
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 13 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
OpenGL. Conceitos Básicos. Waldemar Celes. Tecgraf/PUC-Rio
OpenGL Conceitos Básicos Waldemar Celes Tecgraf/PUC-Rio 1 API OpenGL: o que é? Interface para programador de aplicação Aplicação Aplicação API abstrata OpenGL API Software & Hardware Dispositivo de saída
Tomás Antônio Costa Badan. Mapa de Textura: O Básico
Tomás Antônio Costa Badan Mapa de Textura: O Básico Introdução De acordo com o www.thefreedictionary.com: Textura Aparência e impressão de uma superfície Superfície de uma material, principalmente sentida
CG 2013/2014 Primeiro Teste LEIC Alameda/Taguspark
Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Primeiro Teste 6 de Outubro de 013 O teste tem a duração de 1h00, tolerância incluída. Responda às questões
LAB. 1. Introdução à OpenGL
LAB. 1 Introdução à OpenGL OpenGL O que é? É uma biblioteca de funções gráficas. É uma API (Application Programming Interface) gráfica 2D e 3D Primitivas vectoriais e rasterizadas (imagens) Capaz de gerar
Computação Gráfica. Texturas
Computação Gráfica Texturas António Ramires Fernandes + Luís Paulo Santos- Computação Gráfica 08/09 Texturas Aplicar imagens 1D,2D ou 3D a primitivas geométricas Utilizações: Simular materiais: madeira,
OpenGL. Parte I: Geometria. Waldemar Celes Departamento de Informática Tecgraf/PUC-Rio
OpenGL Parte I: Geometria Waldemar Celes Departamento de Informática Tecgraf/PUC-Rio API OpenGL: : o que é? Interface para programador de aplicação Aplicação API Hardware & Software API abstrata Dispositivo
Primitivas do OpenGL. Tomás Antônio C. Badan
Primitivas do OpenGL Tomás Antônio C. Badan 1 Primitivas Formas simples que combinadas, geram objetos mais complexos Blocos de construção de objetos Podem ser 1D, 2D ou 3D Vão desde pontos, linhas até
Cap. 4: Janelas, Visores & Recorte Gráfico
Cap. 4: Janelas, Visores & Recorte Gráfico Sumário Definições básicas: sistema de coordenadas globais, sistema de coordenadas do ecrã; janela de domínio de cena; janela de interface e visores de saída
Introdução a OpenGL. Profª. Alessandra Martins Coelho
Introdução a OpenGL Profª. Alessandra Martins Coelho março/ 2013 OpenGL OpenGL é uma API gráfica que permite a criação de imagens gráficas 2D e 3D, através da definição de objetos (2D/3D) por um conjunto
Computação Gráfica. 5385: Licenciatura em Engenharia Informática. Cap. 3 Janelas e Visores. Janelas e Visores
Computação Gráfica 5385: Licenciatura em Engenharia Informática Cap. 3 Janelas e Visores Janelas e Visores Sumário Definições domínio de imagem (ecrã) janela de ecrã domínio da cena (IR 2 ) janela visor
OpenGL. Computação Gráfica ISEL/DEETC/SP Computação Gráfica
OpenGL Computação Gráfica CG @ 2007 ISEL/DEETC/SP Computação Gráfica 1 Jellys Tetris Gorillas PacMan Sokoban 3 Sumário Introdução ao OpenGL (capítulos 1 e 2 do red book) O que é? Sintaxe Máquina de estados
Introdução à Programação em OpenGL. Prof. Márcio Bueno {cgtarde,cgnoite}@marciobueno.com
Introdução à Programação em OpenGL Prof. Márcio Bueno {cgtarde,cgnoite}@marciobueno.com OPENGL (Open Graphical Library) OpenGL é uma interface de software (API Aplication Program Interface) para aceleração
Introdução a Prática em OpenGL
Introdução a Prática em OpenGL Universidade de São Paulo USP Disciplina de Computação Gráfica Profª Maria Cristina PAE: Thiago Silva Reis Santos Agosto de 2010 Sumário Bibliotecas Necessárias Instalação
Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...
Sumário Prefácio...15 Capítulo 1 Introdução...17 Capítulo 2 Instalação...22 2.1 Visão Geral das Bibliotecas OpenGL...22 2.2 Bibliotecas Necessárias para Execução...24 2.3 Bibliotecas Necessárias para Compilação...24
Fundamentos de Computação Gráfica. Texturas
Fundamentos de Computação Gráfica Texturas Texturas Aplicar imagens 1D,2D ou 3D a primitivas geométricas Utilizações: Simular materiais: madeira, granito, tijolo Reduzir complexidade geométrica Simulação
OpenGL. O que é OpenGL. O Pipeline do OpenGL. Listas de Exposição
OpenGL O que é OpenGL OpenGL é uma interface de software para dispositivos de hardware. Esta interface consiste em cerca de 150 comandos distintos usados para especificar os objetos e operações necessárias
Introdução Programando com OpenGL Exemplos. O que é OpenGL? [1]
Sumário ao OpenGL Exemplos Leandro Tonietto Processamento Gráfico / Computação Gráfica Jogos Digitais [email protected] http://www.inf.unisinos.br/~ltonietto Mar-2008 Alguns slides são provenientes
Conceitos importantes da Computação Gráfica [3]
Programa de Educação Tutorial Ciência da Computação - UFRN Minicurso Agosto de 2012 Conceitos importantes da Computação Gráfica [3] Computação Gráfica é a área da Ciência da Computação que estuda a geração,
Programação Gráfica 2D com OpenGL (Aulas 22, 24 e 25)
MC102 Introdução à Programação de Computadores Programação Gráfica 2D com OpenGL (Aulas 22, 24 e 25) Felipe P.G. Bergo 1 Introdução OpenGL é uma biblioteca de funções utilizada para programar gráficos.
INTRODUÇÃO A OPENGL. Computação Gráfica
INTRODUÇÃO A OPENGL Computação Gráfica OpenGL (Open Graphic Library) Biblioteca de rotinas gráficas e de modelagem, bi e tridimensional, extremamente portável e rápida. Não é uma linguagem de programação,
OpenGL. Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Introdução. Introdução. Carlos Carreto
Sumário COMPUTAÇÃO GRÁFICA E INTERFACES OpenGL Carlos Carreto Curso de Engenharia Informática Ano lectivo 2003/2004 Escola Superior de Tecnologia e Gestão da Guarda Introdução Utilização Tipos de dados
OpenGL. Soraia Musse
OpenGL Soraia Musse Roteiro Introdução OpenGL x DirectX Utilização Exemplo de Programa Nomes das Funções/Métodos Bibliotecas Máquina de Estados Linhas, Pontos e Polígonos Transformações Geométricas Introdução
Visualização. - Aula 4 -
Visualização - Aula 4 - Pipeline de visualização 2D window recorte mapeamento viewport descrição geométrica rasterização Visualização de objetos 2D y viewport 1 região (window) 1 região (window) 2 viewport
Computação Gráfica - 04
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 04 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Computação Gráfica. Texturas
Computação Gráfica Texturas António nio Ramires Fernandes - Multimédia Texturas Aplicar imagens 1D,2D ou 3D a primitivas geométricas Utilizações: Simular materiais: madeira, granito, tijolo Reduzir complexidade
Fundamentos de Computação Gráfica
Fundamentos de Computação Gráfica OpenGL e GLUT António Ramires Fernandes Departamento de Informática - UM 1 Bibliotecas OpenGL (Open Graphics Library) Funcionalidade Gráfica GLU (GL Utilities) Funcionalidade
Programa de Aprimoramento Discente em Modelagem Geométrica Computacional. Curso Básico de OpenGL
Universidade Federal de Minas Gerais Programa de Aprimoramento Discente em Modelagem Geométrica Computacional Curso Básico de OpenGL Dezembro 2003 Universidade Federal de Minas Gerais Av. Antônio Carlos,
Projeções e Transformações em 3D
Projeções e Transformações em 3D Computação Gráfica DCC065 Prof. Rodrigo Luis de Souza da Silva, D.Sc. Sumário O que são projeções Conversão 3D-2D Tipos de Projeção Projeções Paralelas Projeções Isométricas
Introdução à Computação Gráfica Texturas
Introdução à Computação Gráfica Texturas Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti Detalhes de Superfícies Modelos de iluminação não são apropriados para
Mapeamento de Texturas
Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Mapeamento de Texturas Texturas Quando o resultado começa a parecer real Superfícies no mundo real são muito complexas Não se
FCG2006 Prova sobre OpenGL e Rastreamento de Raios
FCG2006 Prova sobre OpenGL e Rastreamento de Raios Aluno(a): matrícula: 1. O programa SimpleLight.c mostrado no Quadro 1 produz a janela mostrada na Figura 1. A partir do código, calcule coordenadas na
COMPUTAÇÃO GRÁFICA - PROF. MSC. LEANDRO TONIETTO SELEÇÃO DE OBJETOS EM OPENGL - SELECT BUFFER
COMPUTAÇÃO GRÁFICA - PROF. MSC. LEANDRO TONIETTO SELEÇÃO DE OBJETOS EM OPENGL - SELECT BUFFER INTRODUÇÃO Além de aspectos visuais de modelagem, é comum em uma aplicação gráfica a seleção de objetos renderizados
Projeções e Visualização
Computação Gráfica 5385: Licenciatura em Engenharia Informática Cap. 4 Projeções e Visualização Projeções e Visualização Sumário Pipeline de Visualização em OpenGL x y z w vértice original MODELVIEW matrix
OpenGL. Introdução ao OpenGL. OpenGL. OpenGL. OpenGL. OpenGL. Profa. M. Cristina Profa. Rosane
OpenGL Introdução ao OpenGL Profa. M. Cristina Profa. Rosane Application Programming Interface (API) Coleção de rotinas que o programador pode chamar do seu programa Modelo de como estas rotinas operam
Engenharia Informática Computação Gráfica
Computação Gráfica 11569 - Engenharia Informática Transformações de Visualização Computação Gráfica 1 Definições janela de dominio da cena HOUSE CLIP ecrã janela de interface visor! Sistema de Coordenadas
Computação Gráfica OpenGl 03
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica OpenGl 03 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti
OpenGL Conceitos Básicos
Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Prof. Cesar Tadeu Pozzer Disciplina: Computação Gráfica [email protected] 23/05/202 OpenGL Conceitos Básicos Histórico Antes
UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos
UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Niterói 2008 Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Trabalho de Conclusão
1-Introdução ao OpenGL
1-Introdução ao OpenGL Prof. João Madeiras Pereira Bibliografia A) OpenGL Programming Guide (4ª Edição) B) Computer Graphics Principles and Practice (Foley, Van Dam) Programa 1- OpenGL (Bibliotecas, Exemplos
Mapeamento de Textura
Mapeamento de Textura Felipe Natale Munhoz [email protected] Junho de 2007 Sumário 1 Introdução 3 2 Objetivo 4 3 Tipos de Texturas 5 4 Mapeamento de Texturas em OpenGL 10 5 Referências 14 Seção 1 Introdução
Iluminação em OpenGL. André Tavares da Silva.
Iluminação em OpenGL André Tavares da Silva [email protected] Iluminação em OpenGL Assume fontes pontuais de luz Omnidirecionais: todas as direções. Ex. : sol (direcional), luz incandescente (pontual);
INF01046 Fundamentos de Processamento de Imagens. Prof. Manuel M. Oliveira
INF01046 Fundamentos de Processamento de Imagens Prof. Manuel M. Oliveira 1 o Trabalho de Implementação Total de Pontos do Trabalho: 100 OBJETIVO O objetivo deste trabalho é familiarizar os estudantes
Paulo Sérgio Rodrigues. Exercícios de Laboratório
Paulo Sérgio Rodrigues Exercícios de Laboratório Iluminação São Bernardo do Campo, SP Abril de 2010 Iluminação Como é possível observar na Fig. 1, a imagem gerada não possui uma qualidade satisfatória.
Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica
Introdução Geral a Computação Gráfica Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de 2 Introdução Geral a O que é CG? Áreas de Atuação Definição, Arte e Matemática Mercado
Algoritmos de Recorte em 2D
Algoritmos de Recorte em 2D Computação Gráfica DCC065 Prof. Rodrigo Luis de Souza da Silva, D.Sc. Sumário Conceito de Recorte (Clipping) Introdução Algoritmo simples (Força Bruta) Algoritmo de Cohen-Sutherland
Pipeline de Visualização 3D
Pipeline de Visualização 3D André Tavares da Silva [email protected] Capítulo 5 de Foley Capítulo 2 de Azevedo e Conci Processo de Visualização https://www.youtube.com/watch?v=ogqam2mykng Processo de
Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark. Exame de Recurso 29 de Junho de 2011
Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Exame de Recurso 29 de Junho de 211 O exame tem a duração de 2h3, tolerância incluída. Responda às questões
Linguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
ORIENTAÇÃO DA MONOGRAFIA: PROF. MARCELO F. PORTO COORDENAÇÃO DA DISCIPLINA: PROF.ª MAGALI MARIA DE ARAÚJO BARROSO
!"#!$ ORIENTAÇÃO DA MONOGRAFIA: PROF. MARCELO F. PORTO COORDENAÇÃO DA DISCIPLINA: PROF.ª MAGALI MARIA DE ARAÚJO BARROSO !"#!$ %& '(& )*+'(,( Monografia apresentada como requisito parcial do Trabalho de
OpenGL Conceitos Avançados
Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Prof. Cesar Tadeu Pozzer Disciplina: Computação Gráfica Avançada [email protected] 05/0/203 OpenGL Conceitos Avançados Neste
Usando Display Gráfico com C18 e C30
Usando Display Gráfico com C18 e C30 Elaborado por: Revisado por: Tiago Coelho Magalhães Marcelo M. M. do Couto José Domingos Adriano Todos os documentos aqui referidos neste material encontram-se na pasta
Transformações geométricas no plano e no espaço
Transformações geométricas no plano e no espaço Sistemas de Coordenadas Sistemas de Referência com finalidades específicas: SRU Sistema de Referência do Universo SRO Sistema de Referência do Objeto SRN
Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Claudio Esperança Paulo Roma Cavalcanti Estrutura do Curso Ênfase na parte prática Avaliação através de trabalhos de implementação C / C++ OpenGL c/ GLUT Grau (nota) baseado
Pedro Vasconcelos DCC/FCUP. Programação Funcional 11 a Aula Gráficos usando Gloss
Programação Funcional 11 a Aula Gráficos usando Gloss Pedro Vasconcelos DCC/FCUP 2014 A biblioteca Gloss Para fazer desenhos, animações, simulações e jogos 2D; Simples: pensada para ensino de programação;
Desenvolvimento de aplicações tridimensionais com OpenGL
Desenvolvimento de aplicações tridimensionais com OpenGL Pontifícia Universidade Católica de Minas Gerais, 2004 Alessandro Ribeiro [email protected] Bruno Evangelista [email protected] Orientador:
Manual de Apoio 2010. Luís Filipe Lobo <[email protected]>
Computação Gráfica Manual de Apoio 2010 Luís Filipe Lobo Conteúdo 1 Introdução 5 1.1 A caminho do 3D............................................. 5 1.2 Efeitos 3D.................................................
Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009
Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Ao desenvolver os seguintes programas tenha em atenção o bom uso dos comentários, o uso da indentação e o correcto nome
Cenários 3D Interativos com Software Livre
Liliane dos Santos Machado 1 Ronei Marcos de Moraes 2 Resumo: Com a evolução tecnológica e o surgimento da realidade virtual, observa-se o desenvolvimento de sistemas gráficos cada vez mais realistas.
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Prova - 23a de junho de 2008
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Prova - 23a de junho de 2008 Nome: Assinatura: 1 a Questão: (2.0 pontos) Números Aleatórios Escreva um programa que gere N números
Computação Gráfica. Introdução. Tomás A. C. Badan
Computação Gráfica Introdução Tomás A. C. Badan Definição ISO (International Organization for Standardization) Um conjunto de ferramentas e técnicas para converter dados para ou de um dispositivo gráfico
Revisão C++ - Parte 1
Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos
Fundamentos de Computação Gráfica. Transformações Geométricas
Fundaentos de Coputação Gráfica Transforações Geoétricas Sisteas de Coordenadas Object Space ou Modelling Space (Espaço local) Este espaço é o sistea de coordenadas relativas a u objecto (ou grupo de objectos).
CAPÍTULO II VISUALIZAÇÃO E APLICAÇÕES GRÁFICAS 2D 3 1- PONTOS E RETAS NO OPENGL 3. 2 TECLADO E MOUSE (Callbacks) 15 3 CURVAS PARAMÉTRICAS 20
CAPÍTULO II VISUALIZAÇÃO E APLICAÇÕES GRÁFICAS 2D 3 1- PONTOS E RETAS NO OPENGL 3 1.1 A Tela do Computador 3 1.2 Cores 3 1.3 Introdução ao OpenGL 4 1.4 Exemplo: Plotar um ponto na tela utilizando as bibliotecas
Transformações (Cap 4.3, 4.4 e 4.6 a 4.10)
4.6 a 4.) Transformações (Cap 4.3, 4.4 e 4.6 a 4.) Instituto Superior Técnico, 26/27 Sumário Revisões Transformações Elementares Coordenadas Homogéneas Composição de Transformações Transformações em OpenGL
Detalhes de Superfícies. Introdução à Computação Gráfica Texturas. Propriedades Mapeáveis. Mapeamento de Textura
Detalhe de Superfície Introdução à Computação Gráfica Textura Claudio Eperança Paulo Roma Cavalcanti Modelo de iluminação não ão apropriado para decrever toda a diferença de cor obervávei em uma uperfície
Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM
Curso de C Introdução 1 Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação 2 Algoritmos Recordando: Algoritmo: conjunto
Sobre o Visual C++ 2010
O Visual Studio é um pacote de programas da Microsoft para desenvolvimento de software, suportando diversas linguagens como C#, C++, C, Java, Visual Basic, etc. Nesta série de tutoriais vou focar apenas
Sistemas Gráficos Interativos. Interações
Sistemas Gráficos Interativos Rogers & Adams: Capítulo 1 Redbook: Capítulo 1 Apostila: Capítulo 2 Interações Computador suporte em processamentos Símbolos gráficos Processamento humano Interagir com o
7. Projeções Geométricas e Visualização 3D
7. Projeções Geométricas e Visualização 3D Aprendemos a criar e transformar geometricamente objetos 3D, no entanto, nossa janela de visualização é apenas bi-dimensional. Assim, necessitamos desenvolver
PROGRAMA DE INTERFACE DE PRÉ E PÓS PROCESSAMENTO E LINK COM EXECUTÁVEL PARA ANÁLISE DE INSTABILIDADE DE TUBULAÇÕES FÁBIO PESSOA DA SILVA NUNES
UNIVERSIDADE DE BRASÍLIA FACULDADE DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA CIVIL E AMBIENTAL PROGRAMA DE INTERFACE DE PRÉ E PÓS PROCESSAMENTO E LINK COM EXECUTÁVEL PARA ANÁLISE DE INSTABILIDADE DE TUBULAÇÕES
Computação Gráfica. GLSL Programação de Shaders
Computação Gráfica GLSL Programação de Shaders António Ramires Fernandes - Computação Gráfica 07/08 GLSL Sumário Evolução do Hardware Gráfico PCs Pipeline Gráfico Fixo Pipeline Gráfico Programável Processador
