Introdução ao OpenGL

Tamanho: px
Começar a partir da página:

Download "Introdução ao OpenGL"

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]

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 mais

OPENGL. Matheus Fuhrmann Stigger [1] e Bruna Cavallero Martins

OPENGL. 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 mais

Computação Gráfica - OpenGl 02

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 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

OpenGL. http://www.opengl.org. Alberto B. Raposo

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

Leia mais

OpenGL. Soraia Musse

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

Leia mais

Introduçã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 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 mais

CG 2013/2014 Primeiro Teste LEIC Alameda/Taguspark

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

Leia mais

António Costa. Paulo Roma Cavalcanti

Antó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 mais

Uma API para geração de gráficos

Uma 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 mais

OpenGL, GLU e GLUT. GLUT (OpenGL Utility Toolkit) OpenGL. Linguagem. OpenGL. Esqueleto de um programa em PyOpenGL

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

Leia mais

OpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 03 ago. 2017)

OpenGL. 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 mais

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?

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

Leia mais

Primitivas do OpenGL. Tomás Antônio C. Badan

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é

Leia mais

Revisões. Módulos Sistemas Gráficos e Interação. Filipe Pacheco SGRAI 2017/18 DEI-ISEP 228. Instituto Superior de Engenharia do Porto

Revisõ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 mais

Computação Gráfica OpenGl 01

Computaçã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 mais

Introdução a OpenGL. Renato Rodrigues Oliveira da Silva Danilo Medeiros Eler

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,

Leia mais

Conceitos importantes da Computação Gráfica [3]

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,

Leia mais

Transformações geométricas

Transformaçõ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 mais

OpenGL. Sumário COMPUTAÇÃO GRÁFICA E INTERFACES. Introdução. Introdução. Carlos Carreto

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

Leia mais

Computação Gráfica OpenGL 05 3D

Computaçã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 mais

Computação Gráfica OpenGL 05 3D

Computaçã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 mais

Engenharia Elétrica Computação Gráfica - Aula 2 (atualizada em 22/04/2018)

Engenharia 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 mais

OpenGL. Conceitos Básicos. Waldemar Celes. Tecgraf/PUC-Rio

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

Leia mais

OpenGL. 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. 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 mais

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 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 mais

INTRODUÇÃO A OPENGL. Computação Gráfica

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,

Leia mais

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 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 mais

PROGRAMAÇÃO OPENGL LIVRO: TEORIA DA COMPUTAÇÃO GRÁFICA

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

Leia mais

Introdução ao Processamento Gráfico

Introduçã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 mais

Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti

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

Leia mais

Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br. 3 de maio de 2011. SCC0250 - Computação Gráca

Prof. 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 mais

Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...

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

Leia mais

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 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 mais

CIV2802 Sistemas Gráficos para Engenharia Luiz Fernando Martha André Pereira

CIV2802 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 mais

OpenGL. 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. 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 mais

Matriz de transformação

Matriz 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 mais

LAB. 1. Introdução à OpenGL

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

Leia mais

3D no OpenGL. Visualização e Transformações Perspectiva. Transformações do Modelview. Processo

3D 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 mais

Introdução a OpenGL. Profª. Alessandra Martins Coelho

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

Leia mais

FUNDAMENTOS E APLICAÇÕES. Luis Valente

FUNDAMENTOS 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 mais

Computação Gráfica - 13

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 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Projeções e Visualização

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

Leia mais

CG 2015/2016 Primeiro Teste LEIC Alameda/Taguspark. Primeiro Teste

CG 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 mais

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 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 mais

Desenvolvimento de jogos tridimensionais com OpenGL. Bruno Pereira Evangelista

Desenvolvimento 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 mais

Prof. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca

Prof. 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 mais

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010

INF1339 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 mais

Computaçã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 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 mais

Computação Gráfica OpenGl 03

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 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

OpenGL Um tutorial. Luis Valente. Instituto de Computação - Universidade Federal Fluminense lvalente@ic.uff.br. Dezembro, 2004

OpenGL 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 mais

Visualização. - Aula 4 -

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

Leia mais

Desenho 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 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 mais

Computação Gráfica Introdução

Computaçã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 mais

OpenGL. 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 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 mais

Modelagem Geométrica

Modelagem 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 mais

Pipeline de Visualização 3D

Pipeline 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 mais

Projeções e Transformações em 3D

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

Leia mais

Seleçã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

Seleçã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 mais

Iluminação e Sombreamento

Iluminaçã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 mais

Professor: Rodrigo Caetano Filgueira

Professor: 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 mais

feedback Aula 8 Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Paulo Gandra de Sousa

feedback 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 mais

Prof. Dr. Leandro Alves Neves. Conceitos Fundamentais. Algoritmos de Conversão Matricial.

Prof. 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 mais

Interactividade Básica com GLUT e Primitivas Geométricas

Interactividade 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 mais

Introdução a Prática em OpenGL

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

Leia mais

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 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 mais

OpenGL. Computação Gráfica ISEL/DEETC/SP Computação Gráfica

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

Leia mais

Desenvolvimento 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 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 mais

Computação Gráfica II

Computaçã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 mais

Programação Gráfica Cap 2

Programaçã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 mais

Cap. 4: Janelas, Visores & Recorte Gráfico

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

Leia mais

Computação Gráfica e Áreas Correlatas

Computaçã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 mais

Construção de objeto e superfícies em OpenGL

Construçã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 mais

CG 2015/2016 Segundo Teste LEIC Alameda/Taguspark. Segundo Teste. 18 de Novembro de 2015

CG 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 mais

Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais

Bruno 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 mais

Programa de Aprimoramento Discente em Modelagem Geométrica Computacional. Curso Básico de OpenGL

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,

Leia mais

António Costa. Paulo Roma Cavalcanti

Antó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 mais

Computaçã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 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 mais

Computação Gráfica. Desempenho

Computaçã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 mais

Computaçã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 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 mais

Engenharia Informática Computação Gráfica

Engenharia 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 mais

Sistemas Gráficos e Modelos Cap 1

Sistemas 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 mais

Computaçã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º 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 mais

Programação Gráfica 2D com OpenGL (Aulas 22, 24 e 25)

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.

Leia mais

CRAb Grupo de Computação Gráfica Departamento de Computação UFC

CRAb 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 mais

COMPUTAÇÃO GRÁFICA COM WEBGL

COMPUTAÇÃ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 mais

Resumo. Computação Gráfica: Uma Proposta de Plano Pedagógico. Áreas Correlatas. Definição. Uma Visão Integrada da C.G.

Resumo. 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 mais

Curvas e Superfícies Paramétricas

Curvas 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 mais

Plano de Ensino de Disciplina Ciência da Computação 2º / 2016

Plano 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 mais

Introdução ao OpenGL. Professora: Maria Cristina Ferreira de Oliveira. Erick Gómez Nieto Agosto, 2011 Introdução ao OpenGL

Introduçã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 mais

Teclado 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 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 mais

Computação Gráfica e Áreas Correlatas

Computaçã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 mais

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 10 de Agosto de 2010

INF1339 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 mais

Professor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF

Professor: 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 mais

Computação Gráfica. Prof. MSc. André Yoshimi Kusumoto

Computaçã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 mais

7. Projeções Geométricas e Visualização 3D

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

Leia mais

Transformações Geométricas

Transformaçõ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 mais

OpenGL Conceitos Básicos

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 pozzer@inf.ufsm.br 23/05/202 OpenGL Conceitos Básicos Histórico Antes

Leia mais

Simulação do controle de tráfego de automóveis em uma malha rodoviária urbana: Versão 3.0

Simulaçã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 mais

Sistemas de Cores. Leandro Tonietto Processamento Gráfico Jogos Digitais set-09

Sistemas 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 mais

Computação Gráfica - 01

Computaçã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