Introdução ao OpenGL
|
|
- Amadeu Custódio Neto
- 6 Há anos
- Visualizações:
Transcrição
1 Introdução ao OpenGL Leandro Tonietto Processamento Gráfico / Computação Gráfica Jogos Digitais ltonietto@unisinos.br Mar-2008 Alguns slides são provenientes da apresentação do professor Christian Hofsetz
2 Sumário Introdução Programando com OpenGL Exemplos
3 Introdução O que é OpenGL? [1] Open Graphics Library Interface de software para hardware gráfico. É uma biblioteca de modelagem e gráficos 3D, altamente portável e muito rápida. Independente de SO e de hardware. Muito mais rápido do que implementação puramente em software, como: motores de gráficos ou software de ray-tracing.
4 Introdução Inicio: Biblioteca gráfica desenvolvida para rodar aplicações gráficas sobre o hardware proprietário da Silicon Graphis Inc. (SGI). Primeira versão foi o IRIS GL, biblioteca gráfica das estações IRIS Graphics da SGI. Hardware que provia transformações de matrizes com altíssima performance. OpenGL surge da decisão de portar a IRIS GL para um padrão aberto, para suportar outros fabricantes de dispositivos gráficos, outras plataformas de hardware e outros sistemas operacionais.
5 Introdução OpenGL ARB: API aberta não pode ser de propriedade de uma empresa apenas. Surge então o OpenGL Architecture Review Board (ARB) Consórcio, originalmente, formado por SGI, Digital Equipament Corporation, IBM, Intel e Microsoft. Outras empresas fazem parte do consórcio, como: SUN, nvidia, ATI,... 01/07/1992 sai a primeira versão da especificação da OpenGL. A partir de 2006 SGI transfere o controle sobre o padrão OpenGL para o grupo de trabalho The Khronos Group ( Atualmente, este grupo promove o OpenGL e outros padrões como o OpenGL ES (para dispositivos móveis). OpenGL está na versão 4.0. Utilizaremos OpenGL na versão 2.0 da especificação.
6 Introdução Software x hardware: SW tem muito menos performance que HW e alguns efeitos especiais podem ser proibitivos nas aplicações gráficas. SW pode executar em qualquer plataforma sem que o usuário necessite de hardware especial, no caso hardware gráfico. HW tem performance, porém maior custo. OpenGL interage com o hardware. Uma aplicação gráfica que use a OpenGL necessitará que o dispositivo gráfico (placa-devídeo) e o driver gráfico implementem a especificação da OpenGL.
7 Introdução Como funciona a OpenGL API Procedural. Programador invoca comandos OpenGL para compor uma cena. OpenGL não renderiza uma cena descrita, ela deve ser programada em código. De forma mais básica, os objetos são desenhados com primitivas gráficas: pontos, linhas e polígonos em 3D. Permite visualização de objetos em qualquer ponto de um espaço 3D. OpenGL suporta também iluminação e sombreamento, mapeamento de textura, blending, transparência, animação e diversos outros efeitos especiais. Faz a conversão das primitivas para imagem rasterização. Não possui funcionalidades para gerenciamento de janela, interação com o usuário ou acesso a arquivos (I/O). É necessário utilizar alguma biblioteca adicional (GLUT, SDL,...) Também não existe nenhum formato de arquivo associado ao OpenGL para modelos ou ambientes virtuais. O programador deve fazer a carga e interpretação dos formatos de arquivos comuns e converter para primitivas gráficas.
8 Introdução Como funciona a OpenGL Framebuffer Brilho Cor do fog Erro Luz Cor atual Matriz Largura da linha Textura
9 Introdução Como funciona a OpenGL OpenGL em software x em hardware X Implementação Microsoft Processamento passa por GDI Mais lenta Limitação de funcionalidades Implementação no driver do HW Comunicação direta com dispositivo Mais rápida
10 Introdução Como funciona a OpenGL Pipeline OpenGL Aplicação executa chamadas as funções da API da OpenGL. Comandos e dados (vértices, textura e etc) são armazenados no command buffer. Quando do flush os vértices passam pelo processamento matemático (transformações geométricas e de iluminação) Depois é feita a rasterização para cria uma imagem colorida a partir da geometria, cor e dados de textura. A imagem é colocada num framebuffer, que é a memória do dispositivo gráfico.
11 Modelo de Aplicação Dados 2D/3D Modelo da Aplicação Aplicação OpenGL/GLUT/SDL/DirectX Sistema Gráfico Manipula dados e define o que será desenhado e aonde.
12 Modelo de Aplicação Dados 2D/3D Modelo da Aplicação Aplicação GLUT Manipula dados e define o que será desenhado e aonde. GLUT sistema de janelas independente de sistema. Não é livre
13 Modelo de Aplicação Dados 2D/3D Modelo da Aplicação Aplicação Manipula dados e define o que será desenhado e aonde. SDL Simple DirectMedia Layer. LGPL. É livre
14 Bibliotecas OpenGL Headers: Microsoft Windows opengl32.dll OpenGL utility library (GLU) glu32.dll Conjunto de funções utilitárias para tarefas comuns e complexas, algumas matrizes especiais para cálculo e suporte para curvas e superfícies. gl.h header de prototipação das funções OpenGL glu.h header de prototipação das funçoes GLU Exemplo de #include para um programa OpengGL: #include <windows.h> // não vem no VisualC++ Express #include <gl/gl.h> #include <glu/glu.h> #include glee.h // extensões da OpenGL #include glut.h // freeglut
15 Tipos de dados para se usar com a API OpenGL
16 Convenção de nomes glvertex3f(0.0f, 0.0f, 0.0f); glvertex3i(0, 0, 0); glvertex3v(vertex[0]);
17 Convenção de nomes Começam com gl... Próximas palavras começa com a primeira letra maiúscula. glbegin() Constantes começam com GL_ e são sempre em maiúsculas. GL_COLOR_BUFFER_BIT
18 Lembre-se: OpenGL é máquina de estados, desenha primitivas e o estado das variáveis altera o resultado da síntese da imagem. Um objeto é desenhado com a cor que está definida, com iluminação que está definida, com as transformações previamente definidas e etc. Portanto, um vez definida um propriedade, ela ficará residente até tenha o seu estado limpo ou alterado com outro valor. Por exemplo, quando uma cor é definida ela será usada em qualquer processo de colorização até que ocorra um novo comando de cor. OpenGL não faz interação com usuário, portanto, não gerencia entrada e saída de dados. É necessário o uso de alguma biblioteca para gerenciamento de GUI. Padrão GLUT.
19 Como uma máquina de estados, os comandos também podem ter seu estado definido/alterado apenas como ligado ou desligado. glenable() e gldisable() É o caso da iluminação: glenable(gl_lighting) CUIDADO: a troca frequente de estados afeta a performance. O melhor é setar os estados uma vez só, quando possível.
20 Desenho de primitivas: Basicamente, é a definição dos vértices das primitivas e das propriedades de cor, normais, texturas e etc. Tudo definido entre glbegin(<primitiva>) e glend() Exemplo: glbegin(gl_triangles); glcolor3f(0.0, 0.0, 1.0); glvertex3f(0.0, 0.0, 0.0); glvertex3f(1.0, 0.0, 0.0); glvertex3f(0.5, 0.5, 0.0); glend(); Outros comandos utilizados dentro do bloco: glcolor*(), glnormal*(), glmaterial*()
21 Primitivas: Primitiva / Constante GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUADS GL_QUAD_STRIP GL_POLYGON Descrição Pontos individuais Par de vértices = 1 linha Pontos conectados por linhas = strip + 1 linha para fechar 3 pontos = 1 triângulo Série de triângulos conectados Todos tri compartilham ponto zero 4 pontos = 1 quadrilátero Série de quads. conectados Todos pontos = 1 polígono
22 Primitivas:
23 Primitivas. Exemplos: glbegin(gl_polygon); // ou glbegin(gl_points); glvertex2f(0.0, 0.0); glvertex2f(0.0, 3.0); glvertex2f(4.0, 3.0); glvertex2f(6.0, 1.5); glvertex2f(4.0, 0.0); glend();
24 glcolor3f(0.0f, 0.5f, 1.0f); glbegin(gl_polygon); glvertex glend(); glcolor(0.0f, 0.0f, 0.0f); glbegin(gl_line_loop); glvertex glend(); 24
25 Tipos de polígonos: Válidos Inválidos
26 Objetos curvos são aproximados por retas:
27 Exemplo. Desenhando um círculo: #define PI GLfloat circle_points = 100.0f; GLfloat angle, raiox=1.0f, raioy=1.0f; glbegin(gl_line_loop); for (int i = 0; i < circle_points; i++) { } glend(); angle = 2*PI*i/circle_points; glvertex2f(cos(angle)*raiox, sin(angle)*raioy); Note que: O tamanho do círculo é dado pelo raio, no exemplo é desenhado um círculo com raio 1 Definindo o valor dos raios X e Y com valores diferentes, pode-se desenhar uma elipse.
28 Modo de polígono: glpolygonmode(<lado>,<modo>) <lado> GL_FRONT_AND_BACK GL_FRONT GL_BACK <modo> GL_POINT GL_LINE GL_FILL
29 Tratamento de erros em OpenGL: Quando fazemos algo inválido em OpenGL ou GLU o programa não pára; apenas não faz o que a gente espera. Isso dificulta a depuração! Quando um erro ocorre um flag é setado com um código de erro. Para acessar esse código deve-se usar glgeterror(); Por outro lado cada chamada OpenGL a mais afetam a performance Em alguns casos quando queremos renderização em tempo real temos que eliminar o maior número possível dessas chamadas! Lembre-se: todos os comandos são bufferizados e processados.
30 Matrizes: Três tipos de matrizes: GL_MODELVIEW: A matriz modelview controla as transformações dos vértices dos objetos da cena GL_PROJECTION A matriz de projeção controla como a cena 3-D é projetada em 2-D GL_TEXTURE A matriz de texturas (geralmente pouco conhecida e utilizada) transforma as coordenadas das textura para obter efeitos como projetar e deslocar texturas
31 Matrizes de projeção: glfrustum(left,right,bottom,top,near,far) glortho(left,right,bottom,top,near,far) gluperspective(fovy,aspect,znear,zfar) gluortho2d(left,right,bottom,top) glulookat(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz) Coordenadas de Tela glviewport(x, y, width, height)
32 Transformações: Modelagem gltranslate{fd}(x, y, z) glrotate{fd) (angle, x, y, z ) glscale{fd}(x,y,z) Propriedades Materiais glmaterial*() ambiente, difuso, especular Fontes de Luz gllight*() cor, posição, atenuação, etc
33 Exemplo: // Estabelece o modo de projeção glmatrixmode(gl_projection); // limpa matrizes glloadidentity(); // especifica o Frustum glfrustum(-1, 1, -1, 1, 0.0, 40.0); // habilita estado de modelagem glmatrixmode(gl_modelview); // cria matriz de transformação glpushmatrix(); // define uma transformação de rotação em X,Y,Z glrotatef(45.0, 1.0, 1.0, 1.0); render(); // invoca um método do programa glpopmatrix();
34 Dicas: Lembre-se que a origem do OpenGL é no canto esquerdo (e é baseado em um sistema de coordenadas left-hand ) Lembre-se de (1) ativar o modo de preenchimento desejado (por ex.: glenable(gl_depth_test);) e de (2) Limpar os respectivos buffers! (por ex.: glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT);) Evitar mudanças constantes de estado Maior freqüência de erros: posicionamento de câmera. Atente-se para olhar de um ponto e para um ponto que seja coerente com os objetos renderizados.
35 Dicas: Ao manipular as matrizes OpenGL lembre-se de verificar se o tipo de matriz correto está ativado. Por exemplo: glmatrixmode(gl_projection); glloadidentity(); glfrustum(-1, 1, -1, 1, 0.0, 40.0); /* glmatrixmode(gl_modelview); */ glpushmatrix(); glrotatef(45.0, 1.0, 1.0, 1.0); render(); glpopmatrix();
36 Renderização de textos: Programando com OpenGL OpenGL não dá nenhum suporte nativo para o tratamento textos e de fontes gráficas. Portanto, o texto não considerado uma primitiva ou algo do gênero para ser renderizado. Deve ser utilizado algum recurso de biblioteca para fazer esta tarefa. GLUT e SDL possuem métodos para suportar a renderização como uma imagem: Exemplo GLUT: //Para posicionar na coordenada (x,y) glrasterpos2f(x,y); //Chamada GLUT para escrita glutbitmapcharacter(fonte,*(texto++));
37 Renderização de textos: Usado em fonte GL_BITMAP_8_BY_13 GL_BITMAP_9_BY_15 GL_BITMAP_TIMES_ROMAN_10 GL_BITMAP_TIMES_ROMAN_24 GL_BITMAP_HELVETICA_10 GL_BITMAP_HELVETICA_12 GL_BITMAP_HELVETICA_18
38 Alguns métodos normalmente presentes em programas OpenGL: init() inicializiação de variáveis e de estados permanentes. display() é que a coisa acontece!! Desenho das primitivas e definição dos estados relacionados a elas, como cor, textura e outros aspectos. update() alterações a serem realizadas quando do redimensionamento da janela. getinputs() processamento de entradas como teclado e mouse.
39 Exemplos de código para o método init(): void init(){ glmatrixmode(gl_projection); glloadidentity(); gluperspective(50.0, 1.0, -10.0, 7.0); glenable(gl_lighting); const float specularcolor[]={1.0f,0.0f,1.0f,0.5f}; gllightfv(gl_light0, GL_SPECULAR, specularcolor); glmatrixmode(gl_modelview); }
40 Exemplos de método update():
41 Exemplos de método display():
42 Exemplos de método getinputs():
43 OpenGL Fake or Real?
44 Bibliografias OpenGL Programming Guide (Woo, Neider, Davis - Addison-Wesley ) OpenGL Programming for the X Window System OpenGL Game Programming (Astle, Hawkins, LaMothe)
45 Bibliografias Red Book Tutorial de OpenGL (Português) Referência (API) para PyOpenGL Documentação para PyOpenGL Referência (API) para wxpython Tutorial básico de wxpython
46 Referências bibliográficas WRIGHT Jr., Richard S.; LIPCHAK, Benjamin; HAEMEL, Nicholas. OpenGL Superbible: Comprehensive Tutorial and Reference. 4ed.: Addison-Wesley Slides do prof. Dr. Christian Hofsetz. Slides do prof. João Bittencourt
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 ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto Mar-2008 Alguns slides são provenientes
Leia maisOPENGL. Matheus Fuhrmann Stigger [1] e Bruna Cavallero Martins
Matheus Fuhrmann Stigger [1] e Bruna Cavallero Martins [1] Acadêmico do curso de Engenharia da computação da Universidade Católica de Pelotas Bolsista FAPERGS. [2] Acadêmico do curso de Engenharia da computação
Leia maisComputaçã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 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisOpenGL. 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
Leia maisOpenGL. 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
Leia maisIntrodução à Computação Gráfica OpenGL Básico. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica OpenGL Básico Claudio Esperança Paulo Roma Cavalcanti OpenGL O que é? Uma API para geração de gráficos 3D e 2D Primitivas vetoriais e matriciais (imagens) Capaz de gerar
Leia maisCG 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
Leia maisAntónio Costa. Paulo Roma Cavalcanti
Introdução à Computação Gráfica OpenGL Básico Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti OpenGL O que é? Uma API para geração de gráficos 3D e 2D Primitivas
Leia maisUma API para geração de gráficos
Miguel Leitão, 2008 OpenGL O que é? Uma API para geração de gráficos 3D e 2D Primitivas vectoriais e matriciais (imagens) Capaz de gerar imagens de alta qualidade Normalmente implementada de forma a tirar
Leia maisOpenGL, 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
Leia maisOpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 03 ago. 2017)
Computação Gráfica - Aula 2 (atualizada em 03 ago. 2017) glaucius@pelotas.ifsul.edu.br OpenGL O que é OpenGL? OpenGL é uma biblioteca de rotinas gráficas de modelagem, manipulação de objetos e exibição
Leia maisn À 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
Leia maisPrimitivas 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é
Leia maisRevisões. Módulos Sistemas Gráficos e Interação. Filipe Pacheco SGRAI 2017/18 DEI-ISEP 228. Instituto Superior de Engenharia do Porto
Módulos 1-10 Sistemas Gráficos e Interação Instituto Superior de Engenharia do Porto Filipe Pacheco ffp@isep.ipp.pt Revisões SGRAI 2017/18 DEI-ISEP 228 Desenho de objectos simples glbegin(mode) / glend()
Leia maisComputação Gráfica OpenGl 01
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica OpenGl 01 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisIntroduçã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,
Leia maisConceitos 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,
Leia maisTransformações geométricas
Módulo 7 Sistemas Gráficos e Interação Instituto Superior de Engenharia do Porto Filipe Pacheco ffp@isep.ipp.pt Transformações geométricas SGRAI 2017/18 DEI-ISEP 97 Conteúdo Tipos de transformações Model/View
Leia maisOpenGL. 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
Leia maisComputação Gráfica OpenGL 05 3D
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica OpenGL 05 3D Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisComputação Gráfica OpenGL 05 3D
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica OpenGL 05 3D Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisEngenharia Elétrica Computação Gráfica - Aula 2 (atualizada em 22/04/2018)
Computação Gráfica - Aula 2 (atualizada em 22/04/2018) glaucius@pelotas.ifsul.edu.br OpenGL O que é OpenGL? OpenGL é uma biblioteca de rotinas gráficas de modelagem, manipulação de objetos e exibição tridimensional
Leia maisOpenGL. 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
Leia maisOpenGL. Conceitos Básicos. Waldemar Celes. Tecgraf/PUC-Rio. OpenGL: o que é? Interface para programador de aplicação. Aplicação API abstrata
OpenGL Conceitos Básicos Waldemar Celes Tecgraf/PUC-Rio 1 OpenGL: o que é? API Interface para programador de aplicação Aplicação Aplicação API abstrata OpenGL API Software & Hardware Dispositivo de saída
Leia maisIntroduçã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
Leia maisINTRODUÇÃ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,
Leia maisOpenGL. 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
Leia maisPROGRAMAÇÃ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
Leia maisIntrodução ao Processamento Gráfico
Introdução ao Processamento Gráfico Leandro Tonietto Processamento Gráfico - Unisinos ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto ago-09 Sumário Introdução e conceitos Resumo das linhas
Leia maisIntroduçã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
Leia maisProf. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 3 de maio de 2011. SCC0250 - Computação Gráca
Introdução à Opengl com Java SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisCapí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
Leia maisUNIVERSIDADE 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
Leia maisCIV2802 Sistemas Gráficos para Engenharia Luiz Fernando Martha André Pereira
CIV2802 Sistemas Gráficos para Engenharia 2015.1 Cor / OpenGL Luiz Fernando Martha André Pereira Para recordar Computação Gráfica Dado Imagem Computação Gráfica Dado Visualização Imagem Computação Gráfica
Leia maisOpenGL. Introdução ao OpenGL. Sistemas de Coordenadas. OpenGL 29/04/2010. Profa. M. Cristina Profa. Rosane. Application Programming Interface (API)
OpenGL Introdução ao OpenGL Profa. M. Cristina Profa. Rosane Application Programming Interface (API) Coleção de rotinas que o programador pode chamar Modelo de como estas rotinas operam em conjunto para
Leia maisMatriz de transformação
OpenGL Matriz de transformação geométricas no espaço - representadas por matrizes; pilha de matrizes de transformação - lembrar a seqüência de transformações realizadas; glpushmatrix() - insere a matriz
Leia maisLAB. 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
Leia mais3D no OpenGL. Visualização e Transformações Perspectiva. Transformações do Modelview. Processo
Visualização e Transformações Perspectiva 3D no OpenGL Para gerar imagens de um objeto 3D, é necessário compreender transformações perspectiva Foley & van Dam - Cap. 6 Notas de aula do Prof. Mount: aulas
Leia maisIntroduçã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
Leia maisFUNDAMENTOS E APLICAÇÕES. Luis Valente
FUNDAMENTOS E APLICAÇÕES Luis Valente 1 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
Leia maisComputaçã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 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisProjeçõ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
Leia maisCG 2015/2016 Primeiro Teste LEIC Alameda/Taguspark. Primeiro Teste
CG 015/016 Primeiro Teste LEIC Alameda/Taguspark Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Primeiro Teste 10 de Outubro de 015 O teste tem a duração
Leia maisIntroduçã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
Leia maisDesenvolvimento de jogos tridimensionais com OpenGL. Bruno Pereira Evangelista
Desenvolvimento de jogos tridimensionais com OpenGL Bruno Pereira Evangelista bpevangelista@gmail.com Aula 1 Introdução ao curso Desenhando objetos simples Introdução ao curso Apresentação do curso Pré-requisitos
Leia maisProf. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca
Dispositivos de Saída e SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisINF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010
Sistemas Gráficos INF1339 Computação Gráfica Tridimensional Waldemar Celes celes@inf.puc-rio.br sala 505 RDC Tecgraf, DI/PUC-Rio 2 de Agosto de 2010 W. Celes Sistemas Gráficos 1 Visualização 3D Objetivo
Leia maisComputação Gráfica Abel J. P. Gomes. Engenharia Informática (5385) - 2º ano, 2º semestre Matemática (5828) - 2º ano, 2º semestre
Computação Gráfica Abel J. P. Gomes Engenharia Informática (5385) - 2º ano, 2º semestre Matemática (5828) - 2º ano, 2º semestre Cap. 0: Planificação do Processo de Ensino-Aprendizagem Engenharia Informática
Leia maisComputaçã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 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisOpenGL Um tutorial. Luis Valente. Instituto de Computação - Universidade Federal Fluminense lvalente@ic.uff.br. Dezembro, 2004
OpenGL Um tutorial Instituto de Computação - Universidade Federal Fluminense lvalente@ic.uff.br Dezembro, 2004 Resumo OpenGL é uma biblioteca para modelagem e visualização tridimensional em tempo real,
Leia maisVisualizaçã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
Leia maisDesenho de uma matriz de retângulos Serve de base para o exercício das cores
Desenho de uma matriz de retângulos Serve de base para o exercício das cores Leandro Tonietto Processamento Gráfico - Unisinos ltonietto@unisinos.br http://professor.unisinos.br/ltonietto 19-Mar-2014 Leandro
Leia maisComputação Gráfica Introdução
Computação Gráfica Introdução UniverCidade - Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Considerações Gerais Objetivo: Discutir os principais conceitos eos
Leia maisOpenGL. Uma Abordagem Prática e Objetiva. Marcelo Cohen Isabel Harb Manssour. Novatec Editora
OpenGL Uma Abordagem Prática e Objetiva Marcelo Cohen Isabel Harb Manssour Novatec Editora Capítulo 1 Introdução A Computação Gráfica é uma área da Ciência da Computação que se dedica ao estudo e ao desenvolvimento
Leia maisModelagem Geométrica
Modelagem Geométrica Leandro Tonietto Computação Gráfica Desenvolvimento Jogos e Entretenimento Digital ltonietto@unisinos.br http://professor.unisinos.br/ltonietto/jed/cgr/modelgeom.pdf ago-11 02-Mar-11
Leia maisPipeline de Visualização 3D
Pipeline de Visualização 3D André Tavares da Silva andre.silva@udesc.br 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
Leia maisProjeçõ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
Leia maisSeleção & feedback. Módulo 12. Sistemas Gráficos e Interação. Filipe Pacheco SGRAI 2017/18 DEI-ISEP 333. Instituto Superior de Engenharia do Porto
Módulo 12 Sistemas Gráficos e Interação Instituto Superior de Engenharia do Porto Filipe Pacheco ffp@isep.ipp.pt Seleção & feedback SGRAI 2017/18 DEI-ISEP 333 Conteúdo Modos do OpenGL Seleção Picking Feedback
Leia maisIluminação e Sombreamento
Iluminação e Sombreamento Leandro Tonietto Computação Gráfica Unisinos ltonietto@unisinos.br http://professor.unisinos.br/ltonietto/jed/cgr/iluminacao.pdf ago-11 Baseado no material do prof. Christian
Leia maisProfessor: Rodrigo Caetano Filgueira
Professor: Rodrigo Caetano Filgueira Primeiro Programa Para entender o funcionamento da GLUT, logo abaixo é apresentado o menor programa OpenGL possível, implementado por [Wright 2000], que simplesmente
Leia maisfeedback Aula 8 Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Paulo Gandra de Sousa
Selecção & feedback Aula 8 Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Paulo Gandra de Sousa psousa@dei.isep.ipp.pt Conteúdo Modos do opengl Selecção Picking feedback 60
Leia maisProf. Dr. Leandro Alves Neves. Conceitos Fundamentais. Algoritmos de Conversão Matricial.
Informática II Conteúdo 03 Prof. Dr. Leandro Alves Neves Sumário Rasterização Conceitos Fundamentais. Algoritmos de Conversão Matricial. Polígonos Construção e Preenchimento de polígonos com formas arbitrárias
Leia maisInteractividade Básica com GLUT e Primitivas Geométricas
Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho Interactividade Básica com GLUT e Primitivas Geométricas GLUT Rato, Teclado e Popup Menus OpenGL Desenho e transformações
Leia maisIntroduçã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
Leia maisCOMPUTAÇÃ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
Leia maisOpenGL. 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
Leia maisDesenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais
Desenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais João Gabriel Lima Moraes 1 ;Victor Travassos Sarinho 2 1. Bolsista PIBIC/CNPq, Graduando em Engenharia de Computação, Universidade
Leia maisComputação Gráfica II
Computação Gráfica II Revisão Introdução ao OpenGL Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Informações Bibliografia GOMES, J. e VELHO, L. Computação Gráfica: Volume
Leia maisProgramação Gráfica Cap 2
Programação Gráfica (2.2 a 2.7) Instituto Superior Técnico, 2006/2007 Índice Programação 2D Sistemas de Coordenadas API do OpenGL Primitivas e Atributos Introdução à Cor Projecções Interacção com o Sistema
Leia maisCap. 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
Leia maisComputação Gráfica e Áreas Correlatas
INF 1366 Computação Gráfica Interativa Alberto B. Raposo abraposo@tecgraf.puc-rio.br http://www.tecgraf.puc-rio.br/~abraposo/inf1366 Computação Gráfica e Áreas Correlatas processamento de imagens Imagem
Leia maisConstrução de objeto e superfícies em OpenGL
Sumário Construção de objeto e superfícies em OpenGL Leandro Tonietto Computação Gráfica Jogos Digitais ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto/jed/cgr/constopengl.pdf out-08 Introdução
Leia maisCG 2015/2016 Segundo Teste LEIC Alameda/Taguspark. Segundo Teste. 18 de Novembro de 2015
CG 015/016 Segundo Teste LEIC Alameda/Taguspark Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Segundo Teste 18 de Novembro de 015 O teste tem a duração
Leia maisBruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais
Bruno Pereira Evangelista Pontifícia Universidade Católica de Minas Gerais 2/60 Apresentação Introdução Pipeline de renderização Efeitos utilizando GPUs Shaders Como utilizar shaders Ferramentas Demos
Leia maisPrograma 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,
Leia maisAntónio Costa. Paulo Roma Cavalcanti
Introdução à Computação Gráfica Preâmbulo Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti Computação Gráfica Modelos Matemáticos Análise (reconhecimento de
Leia maisComputação Gráfica. Licenciatura em Engenharia Informática e de Computadores Taguspark / Alameda. Primeiro Teste 17 de Março de 2012
Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Taguspark / Alameda Primeiro Teste 7 de Março de O teste tem a duração de h, tolerância incluída. Responda às questões unicamente
Leia maisComputação Gráfica. Desempenho
Computação Gráfica Desempenho António Ramires Fernandes - Computação Gráfica 07/08 Desempenho Tópicos: Display Lists Vertex Buffer Objects DI-UM Computação Gráfica 07/08 2 Display Lists As DL são um mecanismo
Leia maisComputação Gráfica LEI / LCC Departamento de Informática Universidade do Minho. Desempenho. Display Lists e Vertex Bufer Objects
Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho Desempenho Display Lists e Vertex Bufer Objects António Ramires Fernandes Computação Gráfica 09/10 Desempenho Tópicos: Display
Leia maisEngenharia Informática Computação Gráfica
Computação Gráfica 11569 - Engenharia Informática Gráficos 3D - Evolução Histórica Computação Gráfica 1 Sumário! Criação de Gráficos! Criação de Modelos 3D! Pipeline Gráfico! Hardware Gráfico! Bibliotecas
Leia maisSistemas Gráficos e Modelos Cap 1
Sistemas Gráficos e Modelos (Cap. 1) Criação de Imagem Instituto Superior Técnico, 2006/2007 1 2 Interior com Reflexos Componentes Hardware: Processadores Gráficos Software: Núcleos Gráficos Aplicações:
Leia maisComputação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda/Taguspark. 2º Exame 15 de Julho de 2010
Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda/Taguspark 2º Eame 5 de Julho de 2 O eame tem a duração de 2h3, tolerância incluída. Responda às questões unicamente nestas
Leia maisProgramaçã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.
Leia maisCRAb Grupo de Computação Gráfica Departamento de Computação UFC
Computação Gráfica I CRAb Grupo de Computação Gráfica Departamento de Computação UFC Objetivos Estudar equipamentos, técnicas de programação e conceitos matemáticos Para representação, manipulação e projeção
Leia maisCOMPUTAÇÃO GRÁFICA COM WEBGL
COMPUTAÇÃO GRÁFICA COM WEBGL Aluno: Ian Albuquerque Raymundo da Silva Orientador: Hélio Côrtes Vieira Lopes Introdução: WebGL é uma API (Application Program Interface - do inglês, Interface de Programação
Leia maisResumo. Computação Gráfica: Uma Proposta de Plano Pedagógico. Áreas Correlatas. Definição. Uma Visão Integrada da C.G.
Computação Gráfica: Uma Proposta de Plano Pedagógico Luiz Velho Definições Metodologia Estrutura Avaliação Discussão Resumo IMPA - Instituto de Matemática Pura e Aplicada Definição Computação Gráfica:
Leia maisCurvas e Superfícies Paramétricas
Curvas e Superfícies Paramétricas Leandro Tonietto Computação Gráfica Jogos Digitais ltonietto@unisinos.br http://professor.unisinos.br/ltonietto/jed/cgr/curvas.pdf 5-12 Baseado nos slides do professor
Leia maisPlano de Ensino de Disciplina Ciência da Computação 2º / 2016
Plano de Ensino de Disciplina Ciência da Computação 2º / 2016 Disciplina: Computação Gráfica e Processamento de Imagens Código: 016031 Série: 8 0 Semestre Carga Horária Semanal: 04 aulas Carga Horária
Leia maisIntrodução ao OpenGL. Professora: Maria Cristina Ferreira de Oliveira. Erick Gómez Nieto Agosto, 2011 Introdução ao OpenGL
Professora: Maria Cristina Ferreira de Oliveira PAE: Erick Gómez Nieto egomezn@icmc.usp.br 1 Introdução as API s Gráficas API (Application programming interface) Interface implementada por um programa
Leia maisTeclado Virtual. MAC0420/MAC5744 Introdução Computação Gráfica. IME Instituto de Matemática e Estatística USP Universidade de São Paulo
Teclado Virtual MAC0420/MAC5744 Introdução Computação Gráfica - IME Instituto de Matemática e Estatística USP Universidade de São Paulo Grupo Cristina Fang Daniel M. G. Clua Paulo Cheque Vivian D. Betoni
Leia maisComputação Gráfica e Áreas Correlatas
INF 1366 Computação Gráfica Interativa Alberto B. Raposo abraposo@tecgraf.puc-rio.br http://www.tecgraf.puc-rio.br/~abraposo/inf1366 Computação Gráfica e Áreas Correlatas processamento de imagens Imagem
Leia maisINF1339 Computação Gráfica Tridimensional. Waldemar Celes. 10 de Agosto de 2010
Iluminação INF1339 Computação Gráfica Tridimensional Waldemar Celes celes@inf.puc-rio.br sala 505 RDC Tecgraf, DI/PUC-Rio 10 de Agosto de 2010 W. Celes Iluminação 1 Iluminação e Shading Iluminação Interação
Leia maisProfessor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF
Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Introdução 1 Computação Gráfica : noção clássica DADOS 1200 1200 1.000000 1.000000 37.600000 2.000000 1.000000 39.600000
Leia maisComputação Gráfica. Prof. MSc. André Yoshimi Kusumoto
Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Prof. MSc. André Yoshimi Kusumoto Email: andrekusumoto.unip@gmail.com Site: http://www.kusumoto.com.br CARGA HORÁRIA SEMANAL: 02 horas-aula
Leia mais7. 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
Leia maisTransformações Geométricas
Transformações Geométricas Computação Gráfica Motivação! Transformações geométricas! Translação, Rotação, Reflexão! Variação de Tamanho (scaling), Cisalhamento (shearing)! Projecção Ortogonal, Projecção
Leia maisOpenGL Conceitos Básicos
Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Prof. Cesar Tadeu Pozzer Disciplina: Computação Gráfica pozzer@inf.ufsm.br 23/05/202 OpenGL Conceitos Básicos Histórico Antes
Leia maisSimulação do controle de tráfego de automóveis em uma malha rodoviária urbana: Versão 3.0
Trabalho de Conclusão de Curso Simulação do controle de tráfego de automóveis em uma malha rodoviária urbana: Versão 3.0 Ederson André Savi Orientador: José Roque Voltolini da Silva Roteiro Introdução
Leia maisSistemas de Cores. Leandro Tonietto Processamento Gráfico Jogos Digitais set-09
Sistemas de Cores Leandro Tonietto Processamento Gráfico Jogos Digitais ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto set-09 Sumário Introdução Cores RGB HSV Referências 4-set-09 Leandro
Leia maisComputação Gráfica - 01
Universidade Federal do Vale do São Francisco Curso de Engenharia de Computação Computação Gráfica - 01 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia mais