OpenGL. Parte I: Geometria. Waldemar Celes Departamento de Informática Tecgraf/PUC-Rio

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

Download "OpenGL. Parte I: Geometria. Waldemar Celes Departamento de Informática Tecgraf/PUC-Rio"

Transcrição

1 OpenGL Parte I: Geometria Waldemar Celes Departamento de Informática Tecgraf/PUC-Rio

2 API OpenGL: : o que é? Interface para programador de aplicação Aplicação API Hardware & Software API abstrata Dispositivo de saída Dispositivo de entrada

3 Por que OpenGL? rápido relativamente simples arquitetura bem definida bem documentado independente de sistemas de janelas primitivas geométricas e imagens padrão disponível em diversas plataformas

4 Pipeline de renderização Vértices Operações geométricas Rasterização Operações sobre fragmentos Imagens Operações sobre imagens Textura Frame Buffer

5 Primitivas geométricas básicas Ponto Linha Triângulo Quadrado Polígono

6 Objetos 3D From SIGGRAPH 97 course

7 Imagem e Textura

8 Aplicação típica Aplicação Sistema de Interface (GLUT) OpenGL GLU Hardware

9 Programa simples (usando( GLUT) #ifdef _WIN32 #include <windows.h> #endif #include "GL/gl.h" #include "GL/glu.h #include GL/glut.h int main (int argc, char* argv[]) { /* open GLUT */ glutinit(&argc, argv); glutinitdisplaymode (GLUT_SINGLE GLUT_RGB); glutinitwindowsize (250, 250); /* create window */ glutcreatewindow ("simple"); glutreshapefunc(reshape); glutdisplayfunc(display); /* interact */ glutmainloop(); return 0; }

10 Programa simples (usando( GLUT) void reshape (int w, int h) { glviewport(0,0,w,h); glclearcolor(1,1,1,1); } void display (void) { /* clear window */ glclear(gl_color_buffer_bit); /* draw red triangle */ glcolor3d(1,0,0); glbegin(gl_triangles); glvertex2d(-1,-1); glvertex2d(1,-1); glvertex2d(0,1); glend(); /* update screen */ glflush(); }

11 Programa simples (usando( IUP) #include "iup.h" #include "iupgl.h" #ifdef _WIN32 #include <windows.h> #endif #include "GL/gl.h" #include "GL/glu.h" int main (void) { Ihandle *dg, *cv; /* open GUI */ IupOpen(); IupGLCanvasOpen(); /* create canvas and dialog */ cv = IupGLCanvas( "redraw" ); dg = IupDialog(cv); IupSetAttribute(dg,"SIZE","200x200"); IupSetFunction("redraw",(Icallback)redraw); IupShow(dg); /* interact... */ IupMainLoop(); IupClose(); return 0; }

12 Programa simples (usando( IUP) int redraw (Ihandle *cv, double x, double y) { IupGLMakeCurrent(cv); /* clear window */ glclearcolor(1,1,1,1); glclear(gl_color_buffer_bit); /* draw red triangle */ glcolor3d(1,0,0); glbegin(gl_triangles); glvertex2d(-1,-1); glvertex2d(1,-1); glvertex2d(0,1); glend(); /* update screen */ glflush(); return IUP_DEFAULT; }

13 OpenGL & IUP #include iup.h #include iupgl.h Inicialização IupOpen(); IupGLCanvasOpen(); Criação em C cv = IupGLCanvas( "redraw" ); Criação em LED cv = GLCanvas(redraw) Bibliotecas: IUP iup.lib & iupgl.lib OpenGL opengl.lib & glu.lib (SGI) opengl32.lib & glu32.lib (MS) Atributos BUFFER = SINGLE ou DOUBLE COLOR = RGBA ou INDEX...

14 Pipeline de renderização Vértices Operações geométricas Rasterização Operações sobre fragmentos Imagens Operações sobre imagens Textura Frame Buffer

15 Operações sobre vértices Transferência de dados Atrib globais Material Fontes de luz Matrizes... Vértices Posição Normal Cor Primária Cor Secundária Coord. Texs... Pipeline Transformação Iluminação Projeção Clip - Mapeamento

16 Máquina de estado Trabalha com o conceito de valor corrente Define estado que é usado na renderização Do ponto de vista do programador: Siggraph Course 37/2002

17 Validação Máquina de estado Assegura estado consistente Máquina de estado com fase de validação: Siggraph Course 37/2002

18 Inicialização e Controle Cor de fundo e limpeza do buffer glclearcolor(red,green,blue,alpha); glclear(gl_color_buffer_bit); Atualização é uma operação cara! glflush( ); glfinish( ); // modal Ativação de recursos glenable/gldisable

19 GKS Especificação de primitivas Antigo padrão gráfico 2D typedef struct { float x, y; } Gwpoint; gpolyline (int n, Gwpoint* p); Desvantagem Impunha uma estruturação particular Se ED: conversão float x[ ] float y[ ] Gwpoint p[ ]

20 Especificação de primitivas OpenGL 1.0 glbegin(tipo_de_prim); define attributo de vértice define vértice glend( );

21 Tipos de primitivas GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_TRIANGLE_STRIP 0 GL_TRIANGLE_FAN GL_QUADS GL_QUAD_STRIP 0 4 GL_POLYGON (convexo)

22 Especificação de vértice Especificação da posição glvertex{tam}{tipo}{vetor} ( ); Exemplo: ou GLfloat pos[ ] = {0.4F,9.0F,2.0F}; glvertex3fv(pos); glvertex3f(0.4f,9.0f,2.0f); Considerações Coordenadas homogêneas Tipo: double x float

23 Especificação de atributos Especificação de normal glnormal* ( ); Vetores não unitários glenable/disable (GL_NORMALIZE); glenable/disable (GL_RESCALE_NORMAL); (OpenGL1.2)

24 Especificação de atributos Especificação de cor Modelo RGB glcolor*(...); Tipo char: 0 a 255 Tipo short: 0 a Tipos float e double: 0.0 a 1.0 Modelo de índice Palheta previamente definida glutsetcolor ( index, red, green, blue ); ou IupGLPalette ( handle, index, red, green, blue ); Especificação do índice corrente glindexi(index);

25 Especificação de primitivas OpenGL 1.0 Considerações glbegin(tipo_de_prim); define attributo de vértice define vértice glend( ); Não impõe estruturação dos dados Ineficiente para primitivas complexas Muitas chamadas de funções Não permite compartilhamento de vértices

26 Especificação de primitivas OpenGL 1.1 Propriedades de vértices em arrays do cliente Array de vértice (especificação da posição) glvertexpointer ( size, type, stride, pointer ) size: 2, 3 ou 4 coordenadas type: GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE stride: offset, em bytes, entre vértices consecutivos valor zero indica posições consecutivas pointer: ponteiro para o array memória sob responsabilidade do cliente

27 Uso de arrays Flexibilidades para estruturação de dados struct { float x, y, z; float r, g, b; } MyVertex;... MyVertex p[n];... glvertexpointer ( 3, GL_FLOAT, sizeof(myvertex), p ); Exige ativação glenable/disable (GL_VERTEX_ARRAY); API análoga para atributos normal, cor, coordenada de textura

28 Uso de arrays Acessando um elemento glbegin (mode); glarrayelement ( i );... glend ( ); Acessando um conjunto de elementos gldrawelements (mode, count, type, indices); count: número de elementos (vértices) indices: vetor de índices (apenas unsigned) Indicando intervalo dos índices gldrawrangeelements (mode, start, end, count, type, indices); start, end: delimitam acesso para permitir pré-processamento Extensões NVIDIA: compiled_vertex_array Vertex buffer Substitui glvertex* (e glnormal*, glcolor*, etc.)

29 Atributos de primitivas Ponto: tamanho em pixel glpointsize (float size); // fração útil para anti-aliasing Linha: largura e estilo gllinewidth (float size); // fração útil para anti-aliasing gllinestipple (int factor, ushort pattern); // pattern de bits Polígono: modo, estilo e orientação glpolygonmode (enum face, enum mode); face: GL_FRONT, GL_BACK, GL_FRONT_AND_BACK mode: GL_POINT, GL_LINE, GL_FILL glpolygonstipple (ubyte* mask); // máscara de bits (32 x 32) glfrontface (enum mode); // GL_CCW ou GL_CW glcullface (enum face); // GL_FRONT ou GL_BACK

30 Modelo de shading Suave (Gouraud) glshademodel(gl_smooth); // default glbegin(gl_triangles); glcolor3f(1.0,0.0,0.0); // red glvertex2f(-1.0,-1.0); glcolor3f(0.0,1.0,0.0); // green glvertex2f(1.0,-1.0); glcolor3f(0.0,0.0,1.0); // blue glvertex2f(0.0,1.0); glend( );

31 Modelo de shading Constante glshademodel(gl_flat); glcolor3f(0.0,0.0,1.0); // blue glbegin(gl_triangles); glvertex2f(-1.0,-1.0); glvertex2f(1.0,-1.0); glvertex2f(0.0,1.0); glend( );

32 Shading constante Seleção do vértice usado GL_LINES GL_LINE_STRIP GL_TRIANGLES GL_TRIANGLE_STRIP 0 GL_TRIANGLE_FAN GL_QUADS GL_QUAD_STRIP 0 4 GL_POLYGON

33 Shading constante glshademodel(gl_flat); glbegin(gl_triangles); glcolor3f(1.0,0.0,0.0); // red glvertex2f(-1.0,-1.0); glcolor3f(0.0,1.0,0.0); // green glvertex2f(1.0,-1.0); glcolor3f(0.0,0.0,1.0); // blue glvertex2f(0.0,1.0); glend( );

34 Renderização de cubos 1 a opção: seqüência de QUADS 6 x 4 = 24 vértices void drawcube( GLfloat color[], GLfloat* vertex[] ) { static int idx[6][4] = {{... },...}; glcolor3fv( color ); glbegin(gl_quads); for ( int i = 0; i < 6; ++i ) for ( int j = 0; j < 4; ++j ) glvertex3fv( verts[idx[i][j]] ); glend( ); }

35 Renderização de cubos 2 a opção: QUAD strip 4 (topo) + 4 (base) + 8 (strip) = 16 vértices

36 Renderização de cubos 3 a opção: TRIANGLE strip 14 vértices

37 Renderização de cubos Teste comparativo Gforce cubos em movimento, com iluminação QUADS: ~32 fps QUAD_STRIP: ~35 fps TRIANGLE_STRIP: ~47 fps

38 Renderização de cubos Cubos estáticos Sugestões?

39 Renderização de cubos Cubos estáticos 4 a opção: seqüência de QUADS void drawcube( GLfloat color[], GLfloat* vertex[] ) { static int idx[6][4] = {{... },...}; glcolor3fv( color ); for ( int i = 0; i < 6; ++i ) for ( int j = 0; j < 4; ++j ) glvertex3fv( verts[idx[i][j]] ); } glbegin/end no laço externo glbegin( GL_QUADS ); for ( int i = 0; i < numcubes; ++i ) drawcube( color[i], vertex[8*i] ); glend();

40 Renderização de cubos Teste comparativo com cubos estáticos Resultados normalizados SIGGRAPH 2002, Course # 37, Performance OpenGL: Platform Independent Techniques Estratégia Máquina A Máquina B Máquina C QUADS QUAD_STRIP QUAD sem Begin/End

41 Exemplo real Visualizador de reservatórios Reservatório composto por células QUAD_STRIP: 1.49 TRIANGLE_STRIP: 1.32 QUAD sem B/E: 1.00

42 Transformações Sistema global fixo Ordem inversa para especificação Y Y Y X... glmatrixmode(gl_modelview); glloadidentity(); glrotatef(30,0,0,1); gltranslatef(10,0,0);... X X

43 Transformações Sistema local móvel Ordem natural para especificação Y Y Y y x y x X X X glmatrixmode(gl_modelview); glloadidentity(); glrotatef(30,0,0,1); gltranslatef(10,0,0);...

44 Pilha de matrizes glmatrixmode(gl_modelview); glloadidentity( ); glpushmatrix( ); // duplica topo glrotate(30,0,0,1); gltranslate(10,0,0); draw_object_1( ); glpopmatrix( ); // restaura estado... API para matrix genérica: representação coluna a coluna glloadmatrixf (float m[16]); glmultmatrix (float m[16]); Tutor Transform

45 Posicionamento do mundo em relação à câmera Função auxiliar glmatrixmode(gl_modelview); glloadidentity(); glulookat(eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z );...

46 Projeção perspectiva Perspectiva teta w near far glmatrixmode(gl_projection); glloadidentity( ); gluperspective (teta_y,aspect,znear,zfar);... h aspect = w / h Ou: glfrustum (xmin eye, xmax eye, ymin eye, ymax eye, znear, zfar);

47 Ortográfica Projeção ortográfica near glmatrixmode(gl_projection); glloadidentity( ); glortho (xleft,xright,ybottom,ytop,znear,zfar);... far 2D: gluortho2d (xleft,xright,ybottom,ytop); Tutor Projection

48 Mapeamento Viewport glviewport (x, y, width, height); GLUT & IUP: A função default de resize define a viewport como sendo a área total do canvas. Z-buffer gldepthrange(znear, zfar); // default: 0, 1

49 Tratamento de visibilidade Z-BUFFER Requisita buffer (GLUT ou IUP) Habilita teste em Z glenable (GL_DEPTH_TEST); Define teste gldepthfunc (GL_LESS); // default Limpa buffer glclear (GL_DEPTH_BUFFER_BIT);

50 Animação Double color buffer: BACK & FRONT Inicialização GLUT glutinitdisplaymode (GLUT_DOUBLE GLUT_DEPTH GLUT_RGB); IUP/C cv = IupGLCanvas ( redraw ); IupSetAttribute (cv, IUP_BUFFER, IUP_DOUBLE); IUP/LED cv = GLCanvas [BUFFER=DOUBLE] (redraw) Atualização da tela GLUT glutswapbuffer( ); IUP IupGLSwapBuffers (cv);

51 Iluminação Cor do objeto depende de: Orientação da superfície Posição do observador Fonte de luz Material Componentes ambiente difusa especular Modelo de iluminação: Phong

52 Fontes de luz Tipos Direcional Pontual Spot Glfloat pos[ ] = {x,y,z,w}; gllightf (GL_LIGHT0, GL_POSITION, pos); Cor e intensidade ambiente, difusa, especular Glfloat dif[ ] = {red,green,blue,alpha}; gllightf (GL_LIGHT0, GL_DIFFUSE, dif); Ativação glenable (GL_LIGHTING); glenable (GL_LIGHT0);

53 Variação do desempenho com o número de fontes de luz Quatro diferentes máquinas com fontes de luz local (pontual) (SIGGRAPH 2002, Course # 37, Performance OpenGL: Platform Independent Techniques) Luz direcional apresenta variação semelhante

54 Parâmetros globais de iluminação Luz ambiente global GLfloat amb[ ] = {0.2,0.2,0.2,1.0}; gllightmodelfv(gl_light_model_ambient, amb); Posição do observador: local ou infinito gllightmodeli (GL_LIGHT_MODEL_VIEWER, GL_TRUE); Iluminação de faces: back e front gllightmodeli(gl_light_model_two_side, GL_TRUE); Iluminação especular em separado gllightmodeli(gl_light_model_color_control, GL_SEPARATE_SPECULAR_COLOR) Tutor Lighting

55 Material Cor (reflexividade) Ambiente Difusa Especular Brilho (shininess) Emissão Glfloat color [ ] = { red, green, blue, alpha }; glmaterialf (GL_BACK_AND_FRONT, GL_AMBIENT_AND_DIFFUSE, color); Tutor material

56 Cor como material Usando cor para definição de material glcolormaterial (GL_BACK_AND_FRONT, GL_AMBIENT_AND_DIFFUSE); glenable (GL_COLOR_MATERIAL); glcolor3f (red, green, blue);...

57 Pilha de grupos de atributos Permite restaurar atributos eficientemente Pilha de atributos (no servidor) glpushattrib ( GL_FOG_BIT GL_LIGHTING_BIT etc ); glpopattrib ( ); Pilha de atributos do cliente glpushclientattrib ( GL_CLIENT_PIXEL_STORE GL_CLIENTE_VERTEX_ARRAY_BIT ); glpopclientattrib ( );

58 Trabalho 1: sistema solar Sol e um planeta Raio Rotação diária Sol: desenhado na origem Planeta: pensando em sistema local Rotação anual Translação em x Rotação diária Rotação anual

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

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

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

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

CG com OpenGL. Paulo Gandra de Sousa Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto

CG com OpenGL. Paulo Gandra de Sousa Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto CG com OpenGL Paulo Gandra de Sousa psousa@dei.isep.ipp.pt Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Conteúdo O que é? Exemplos API do OpenGL demos Desenho, iluminação,

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

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

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

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

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

Computação Gráfica Módulo IV OpenGL

Computação Gráfica Módulo IV OpenGL Computação Gráfica Módulo IV OpenGL 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

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

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

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

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

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

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

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

OpenGL. 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 DIM102

OpenGL. 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 DIM102 OpenGL 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 1 Introdução Definição História Portabilidade 2 Vantagens Rápida Simples Robusta Padrão aberto Multiplataforma Mecanismo de incorporação

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

FCG2006 Prova sobre OpenGL e Rastreamento de Raios

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

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

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

Introdução ao OpenGL e à Programação Baseada em Eventos

Introdução ao OpenGL e à Programação Baseada em Eventos Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Introdução ao OpenGL e à Programação Baseada em Eventos Edward Angel, Cap. 2 API Gráfica Interface de software para hardware

Leia mais

Introdução Prática à Programação em OpenGL

Introdução Prática à Programação em OpenGL Introdução Prática à Programação em OpenGL Marcelo Walter Objetivos Demonstrar o suficiente de OpenGL, a fim de que você possa escrever um programa de computação gráfica interativo com objetos 3D 2 SIGGRAPH

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

Introdução ao OpenGL

Introdução ao OpenGL Introdução ao OpenGL 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 da apresentação

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

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

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

CG 2015/2016 Prova de Repescagem LEIC Alameda/Taguspark. 12 de Janeiro de 2016

CG 2015/2016 Prova de Repescagem LEIC Alameda/Taguspark. 12 de Janeiro de 2016 Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Repescagem 12 de Janeiro de 2016 A repescagem de um dos testes tem a duração de 1h00. Na repescagem de ambos

Leia mais

OpenGL. O que é OpenGL. O Pipeline do OpenGL. Listas de Exposiçã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

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

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

- INF Remoção de faces ocultas Aula 21

- INF Remoção de faces ocultas Aula 21 Geração da imagem - INF007- Remoção de faces ocultas Aula Dada a representação vetorial de um objeto, como apresentá-lo na tela por pontos? Imagem aramada Exibição de faces Dada a representação vetorial

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

André Tavares da Silva

André Tavares da Silva André Tavares da Silva andre.silva@udesc.br The Red Book e http://openglbook.com/the-book.html O que é OpenGL? Open Graphics Library Uma interface de software com o hardware gráfico ; Atualmente na versão

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

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

Estrutura de um programa gráfico

Estrutura de um programa gráfico Módulo 2 Sistemas Gráficos e Interação Instituto Superior de Engenharia do Porto Filipe Pacheco ffp@isep.ipp.pt Estrutura de um programa gráfico SGRAI 2017/18 DEI-ISEP 22 Conteúdo Arquitetura de um programa

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

OpenGL 3.* INF Rendering em Tempo Real. Waldemar Celes Departamento de Informática, PUC-Rio

OpenGL 3.* INF Rendering em Tempo Real. Waldemar Celes Departamento de Informática, PUC-Rio OpenGL 3.* INF2610 - Rendering em Tempo Real Waldemar Celes Departamento de Informática, PUC-Rio celes@inf.puc-rio.br OpenGL API para interface com hardware gráfico Independente de plataforma (e de sistema

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

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

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

OpenGL. Introdução ao OpenGL. OpenGL. OpenGL. OpenGL. OpenGL. Profa. M. Cristina Profa. Rosane

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

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

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

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

Animação e Visualização Tridimensional

Animação e Visualização Tridimensional Animação e Visualização Tridimensional Mestrado em Engenharia Informática e de Computadores Alameda º mini-teste 22 de Outubro de 204 O mini-teste tem a duração máxima de 45 minutos, tolerância incluída.

Leia mais

OpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 15/08/2018)

OpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 15/08/2018) Computação Gráfica - Aula 2 (atualizada em 15/08/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

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

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

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

Iluminação. Módulo 10. Sistemas Gráficos e Interação. Filipe Pacheco SGRAI 2017/18 DEI-ISEP 186. Instituto Superior de Engenharia do Porto

Iluminação. Módulo 10. Sistemas Gráficos e Interação. Filipe Pacheco SGRAI 2017/18 DEI-ISEP 186. Instituto Superior de Engenharia do Porto Módulo 10 Sistemas Gráficos e Interação Instituto Superior de Engenharia do Porto Filipe Pacheco ffp@isep.ipp.pt Iluminação SGRAI 2017/18 DEI-ISEP 186 Conteúdo Tipos de iluminação Fontes de Luz Modelos

Leia mais

Iluminação. Aula 6. Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto. Paulo Gandra de Sousa

Iluminação. Aula 6. Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto. Paulo Gandra de Sousa Iluminação Aula 6 Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Paulo Gandra de Sousa psousa@dei.isep.ipp.pt Conteúdo Tipos de iluminação Materiais Luzes Modelos de iluminação

Leia mais

Engenharia Informática Computação Gráfica

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

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

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

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 !"#!$ 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

Leia mais

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 2. Introdução a OpenGL

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 2. Introdução a OpenGL Computação Gráfica Engenharia de Computação CEFET/RJ campus Petrópolis Prof. Luis Retondaro Aula 2 Introdução a OpenGL OpenGL básico OpenGL (Open Graphical Library) Uma API para geração de gráficos 3D

Leia mais

Sistemas de Interfaces com o Usuário e OpenGL (com IUP ou GLUT)

Sistemas de Interfaces com o Usuário e OpenGL (com IUP ou GLUT) Sistemas de Interfaces com o Usuário e OpenGL (com IUP ou GLUT) Objetos de comuns interface Modelo de Programação Dispositivos Toolkit de Interface (GLUT, SDK,... ) Sistema Gráfico (OpenGL, Direct3D,...)

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

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

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

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

Java 3D. Java: Independência de plataforma. Adailton J. A. da Cruz Alberto B. Raposo. Bytecode Java. Código x86. Java VM. Java VM.

Java 3D. Java: Independência de plataforma. Adailton J. A. da Cruz Alberto B. Raposo. Bytecode Java. Código x86. Java VM. Java VM. Java 3D Adailton J. A. da Cruz Alberto B. Raposo Java: Independência de plataforma fonte C++ fonte Java Compilador C++ x86 CompiladorJava Código x86 Bytecode Java NT Java VM MacOS Java VM Intel x86 CPU

Leia mais

Paulo Sérgio Rodrigues. Exercícios de Laboratório

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.

Leia mais

Sistemas Gráficos Interativos. Interações

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

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

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

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

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

Leia mais

Computação Gráfica. GLSL - Programação de Shaders Iluminação

Computação Gráfica. GLSL - Programação de Shaders Iluminação Computação Gráfica GLSL - Programação de Shaders Iluminação António nio Ramires Fernandes - Multimédia Resumo Tipos de Dados, Funções e Controle de Fluxo GLSL - Minimal GLSL - Cores GLSL - Iluminação Direcional

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

Sist. Coordenadas Câmera (SCC)

Sist. Coordenadas Câmera (SCC) Transformações Modelagem Iluminação (Shading) Transformação Câmera* Recorte Projeção* Mapeamento de coordenadas de Universo para câmera Escolha da projeção: perspectiva ou ortográfica Resumo Rasterização

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

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

Computação Gráfica. GLSL - Programação de Shaders Iluminação

Computação Gráfica. GLSL - Programação de Shaders Iluminação Computação Gráfica GLSL - Programação de Shaders Iluminação António Ramires Fernandes - Computação Gráfica 07/08 Resumo Tipos de Dados, Funções e Controle de Fluxo GLSL - Minimal GLSL - Cores GLSL - Iluminação

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

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

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. Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark. Terceiro Teste 19 de Maio de 2012

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark. Terceiro Teste 19 de Maio de 2012 CG / Terceiro Teste LEIC Alameda/Taguspark Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Terceiro Teste 9 de Maio de O teste tem a duração de h, tolerância

Leia mais

Cenários 3D Interativos com Software Livre

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.

Leia mais

2º Exame. Computação Gráfica

2º Exame. Computação Gráfica 2º Exame Computação Gráfica LEIC-A/T Prof. Mário Rui Gomes Prof. João Pereira Prof. Daniel Gonçalves 19 de Julho 2008 Nº Nome: A O exame tem a duração de 2 horas, tolerância incluída. Responda às questões

Leia mais

OpenGL. Professora: Mercedes Gonzales Márquez

OpenGL. Professora: Mercedes Gonzales Márquez OpenGL Professora: Mercedes Gonzales Márquez Preliminares OpenGL é uma API para criar aplicações interativas que renderizam imagens de alta qualidade compostas de objetos tridimensionais e imagens.. OpenGL

Leia mais

Manual de Apoio 2010. Luís Filipe Lobo <ellobo@ipb.pt>

Manual de Apoio 2010. Luís Filipe Lobo <ellobo@ipb.pt> 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.................................................

Leia mais

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

Leia mais

Computação Gráfica. Texturas

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,

Leia mais

Introdução à OpenGL. SCC0250/ Computação Gráfica

Introdução à OpenGL. SCC0250/ Computação Gráfica Introdução à OpenGL SCC0250/0650 - Computação Gráfica Prof. Rosane Minghim https://edisciplinas.usp.br/course/view.php?id=61213 https://edisciplinas.usp.br/course/view.php?id=61210 P.A.E. Diego Cintra

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

IntMu.Lab5. Importe os ficheiros disponibilizados em

IntMu.Lab5. Importe os ficheiros disponibilizados em IntMu.Lab5 0. Importe os ficheiros disponibilizados em http://www.dee.isep.ipp.pt/~jml/intmu/lab5: wget http://www.dee.isep.ipp.pt/~jml/intmu/lab5/makefile make getall Analise detalhadamente o programa

Leia mais

Desenvolvimento de aplicações tridimensionais com OpenGL

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 spdoido@yahoo.com.br Bruno Evangelista bpevangelista@yahoo.com.br Orientador:

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

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

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

Prof. Fernando V. Paulovich  3 de maio de SCC Computação Gráca Transformações Geométricas 3D 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

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

Prof. Fernando V. Paulovich  3 de maio de SCC Computação Gráca Viewing Pipeline 2D 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 de

Leia mais

Computação Gráfica. GLSL Programação de Shaders

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

Leia mais

Computação Gráfica. Desempenho

Computação Gráfica. Desempenho Computação Gráfica Desempenho António nio Ramires Fernandes - Multimédia Desempenho Tópicos: Display Lists Vertex Arrays Vertex Buffers DI-UM Multimédia 2 Display Lists As DL permitem ao driver compilar

Leia mais