Computação Gráfica. GLSL - Introdução e Programação da Aplicação OpenGL
|
|
- Talita Fidalgo Bennert
- 6 Há anos
- Visualizações:
Transcrição
1 Computação Gráfica GLSL - Introdução e Programação da Aplicação OpenGL António nio Ramires Fernandes - Multimédia
2 Evolução do Hardware Gráfico PCs Controladores VGA (Video Graphics Array) Introduzido em 1987 pela IBM Todo o esforço computacional é realizado pelo CPU. O VGA é utilizado somente como frame buffer. DI-UM Multimédia 2
3 Evolução do Hardware Gráfico PCs GPU (Graphics Processing Unit) Termo introduzido pela nvidia em 1990 quando o termo VGA já não descrevia correctamente o hardware gráfico. DI-UM Multimédia 3
4 Evolução do Hardware Gráfico PCs 1ª Geração de GPUs até 1998 (nvidia TNT2, ATI Rage) Interpolação: capacidade para calcular os pixels a partir dos vértices de um triângulo e aplicar texturas. DI-UM Multimédia 4
5 Evolução do Hardware Gráfico PCs 2ª Geração de GPUs (GeForce 256, GF 2, Radeon 7500) Transformação de Vértices Cálculo de Iluminação (por vértice) DI-UM Multimédia 5
6 Evolução do Hardware Gráfico PCs 3ª Geração de GPUs 2001 (GeForce 3 e 4, Radeon 8500) Programação ao nível dos vértices DI-UM Multimédia 6
7 Evolução do Hardware Gráfico PCs 4ª Geração de GPUs (GeForce FX, ATI Radeon 9700) Programação ao nível do pixel. DI-UM Multimédia 7
8 GLSL Sumário Pipeline Gráfico Fixo Pipeline Gráfico Programável Vertex Processor Fragment Processor GLSL do Ponto de Vista da Aplicação OpenGL DI-UM Multimédia 8
9 GLSL Sumário Pipeline Gráfico Fixo Pipeline Gráfico Programável Vertex Processor Fragment Processor GLSL do Ponto de Vista da Aplicação OpenGL DI-UM Multimédia 9
10 Pipeline Gráfico Vertex Connectivity Vertices Vertex Transformation Transformed Vertices Primitive Assembly and Rasterization Pixel Positions Fragments Pixel Updates Raster Operations Colored Fragments Fragment Texturing and Coloring DI-UM Multimédia 10
11 Pipeline Gráfico Vertex Transformation Dados de entrada: Vértices com as coordenadas tal como especificadas na aplicação, e outros atributos como normais, cores, coordenadas de textura. Estado do OpenGL Operações: Transformação do vértice de acordo com as matrizes ModelView e Projection; Transformação de normais; Iluminação do vértice; Geração/Transformação das coordenadas de textura. DI-UM Multimédia 11
12 Pipeline Gráfico Primitive Assembly Dados de entrada: Vértices transformados Informação de conectividade (GL_TRIANGLE, GL_QUAD,...) Operações: Construção de primitivas gráficas com vértices já transformados Clipping contra view frustum Back face culling Early Z culling DI-UM Multimédia 12
13 Pipeline Gráfico Rasterization Dados de Entrada Primitivas construídas na fase anterior Operações determina o conjunto de pixels cobertos por uma primitiva geométrica Para cada pixel é calculado o seu conjunto de atributos por interpolação dos atributos dos vértices da primitiva Resultado: conjunto de fragmentos DI-UM Multimédia 13
14 Pipeline Gráfico Rasterization (2) Pixel vs. Fragment Pixel representa o conteúdo do frame buffer numa determinada posição: cor, profundidade, localização,... Fragmento: pixel potencial + atributos. DI-UM Multimédia 14
15 Pipeline Gráfico Texturização e Cor Os dados de entrada desta fase são os valores interpolados na fase anterior para cada fragmento Nesta fase aplicam-se as texturas e calcula-se a cor do fragmento. DI-UM Multimédia 15
16 Pipeline Gráfico Raster Operations Dados de entrada Localização do pixel fragmentos processados (cor e profundidade) Operações Teste de scissor, alpha, stencil, profundidade (sem early Z cull) Operações de blending: combina a cor do fragmento com a cor do pixel existente no color buffer DI-UM Multimédia 16
17 Resumo Visual Pipeline Gráfico LINE( ); TRIANGLE( ) Vertices Geom. Ops. Transf. Vertices Connectivity information Assembly Colored Fragments Fragments Raster Interpolation DI-UM Multimédia 17
18 GLSL Sumário Pipeline Gráfico Fixo Pipeline Gráfico Programável Vertex Processor Fragment Processor GLSL do Ponto de Vista da Aplicação OpenGL DI-UM Multimédia 18
19 Pipeline Programavel Vertex Connectivity Vertices Vertex Transformation Transformed Vertices Primitive Assembly and Rasterization Pixel Positions Fragments Pixel Updates Raster Operations Colored Fragments Fragment Texturing and Coloring DI-UM Multimédia 19
20 Pipeline Programável Vertex Connectivity Vertices Vertex Processor Transformed Vertices Primitive Assembly and Rasterization Pixel Positions Fragments Pixel Updates Raster Operations Colored Fragments Fragment Processor DI-UM Multimédia 20
21 GLSL - Vertex Processor Unidade programável que opera em vértices e nos dados associados (normais, coordenadas de textura,...) Esta unidade é responsável por operações como por exemplo: Transformação de vértices (matrizes modelview e projection) Transformação de normais e sua normalização Geração de coordenadas de textura Transformação de coordenadas de textura Iluminação Cálculo de material DI-UM Multimédia 21
22 GLSL - Vertex Processor Programas que correm nesta unidade são vertex shaders. Um vertex shader substitui toda a funcionalidade do pipeline fixo logo tem de implementar todas as operações desejadas......i.e. não é possível ter um vertex shader para transformar as coordenadas do vértice e ter a iluminação calculada pela componente fixa. DI-UM Multimédia 22
23 GLSL - Vertex Processor Este processador opera num vértice de cada vez, isoladamente, e sem conhecimento dos restantes vértices. Um vertex shader deve obrigatoriamente calcular uma posição e, opcionalmente, cor e outros atributos. O processador tem acesso ao estado do OpenGL actual, assim como algumas variáveis pré-calculadas pelo próprio OpenGL. O vertex processor não tem acesso ao framebuffer, mas pode aceder a texturas. DI-UM Multimédia 23
24 GLSL - Fragment Processor Unidade programável que opera em fragmentos. Esta unidade é responsável por operações como por exemplo: Operações sobre valores interpolados (cores, normais, coordenadas de textura) Acesso a texturas Aplicação de texturas Cálculo de Nevoeiro Cálculo da cor DI-UM Multimédia 24
25 GLSL - Fragment Processor Programas que correm nesta unidade são fragment shaders. Um fragment shader substitui toda a funcionalidade do pipeline fixo logo tem de implementar todas as operações desejadas......i.e. não é possível ter um fragment shader para aceder a texturas e ter o nevoeiro calculada pela componente fixa. DI-UM Multimédia 25
26 GLSL - Fragment Processor Este processador opera num fragmento de cada vez, isoladamente, e sem conhecimento dos fragmentos vizinhos. Um fragment shader pode calcular cor e/ou profundidade ou alternativamente "descartar" o fragmento. O processador tem acesso ao estado do OpenGL actual, assim como algumas variáveis pré-calculadas pelo próprio OpenGL. O fragment shader não pode alterar a coordenada (x,y) do pixel a escrever. DI-UM Multimédia 26
27 GLSL Sumário Pipeline Gráfico Fixo Pipeline Gráfico Programável Vertex Processor Fragment Processor GLSL do Ponto de Vista da Aplicação OpenGL DI-UM Multimédia 27
28 GLSL - Aplicação OpenGL Uma aplicação pode substituir a funcionalidade fixa relativamente aos vértices e/ou aos fragmentos, não sendo obrigada a implementar os dois. Para cada shader é necessário proceder a uma compilação. Depois de compilados os shaders são incorporados num programa que depois será linkado. DI-UM Multimédia 28
29 GLSL - Aplicação OpenGL OpenGL Setup Program Vertex Shader glcreateshader glshadersource glcompileshader glcreateprogram glattachshader glattachshader gllinkprogram Fragment Shader glcreateshader glshadersource glcompileshader gluseprogram DI-UM Multimédia 29
30 GLSL - Aplicação OpenGL Protótipos de funções: GLuint glcreateshader (enum type) Devolve um handler para o shader Recebe como parâmetro o tipo de shader: GL_VERTEX_SHADER GL_FRAGMENT_SHADER DI-UM Multimédia 30
31 GLSL - Aplicação OpenGL Protótipos de funções: GLuint glshadersource(uint shader, sizei count, const char **string, const int *length) shader: O shader ao qual se destina o código. Este valor é o devolvido pela função CreateShader. count: número de strings string: array de strings length: dimensão de cada string, ou NULL, no caso das strings serem terminadas com '\0'. DI-UM Multimédia 31
32 GLSL - Aplicação OpenGL Protótipos de funções: void glcompileshader(uint shader) O resultado da compilação pode ser inquirido através da função GetShaderiv. Os detalhes encontram-se no infolog associado a cada shader. DI-UM Multimédia 32
33 GLSL - Aplicação OpenGL Protótipos de funções: uint glcreateprogram() Devolve um handler para um Program Object. DI-UM Multimédia 33
34 GLSL - Aplicação OpenGL Protótipos de funções: void glattachshader(uint program, uint shader) Função que liga um shader a um programa. Um programa pode ter vários shaders do mesmo tipo, no entanto só um deles pode ter uma função main. Um shader pode também estar associado a vários programas. Esta operação não necessita de ser realizada com um shader compilado, ou até com código, podendo ser efectuada com um shader recém-criado. DI-UM Multimédia 34
35 GLSL - Aplicação OpenGL Protótipos de funções: void gllinkprogram (uint programa) Realiza a operação sobre os shaders ligados ao programa. O estado da operação pode ser consultado através da função GetProgramiv. Os detalhes encontram-se no infolog associado a cada programa. DI-UM Multimédia 35
36 GLSL - Aplicação OpenGL Protótipos de funções: void gluseprogram (uint programa) Se (programa!= 0) a funcionalidade das componentes programáveis passa a ser determinado pelo programa. Se (programa == 0) o sistema gráfico passa a utilizar a funcionalidade fixa DI-UM Multimédia 36
37 GLSL - Aplicação OpenGL Notas: Um programa pode incluir somente um tipo de shader, por exemplo só incluir vertex shader. Nestes casos para o shader omisso será utilizada a funcionalidade fixa. Depois de um programa estar "linkado", pode-se alterar o código dos shaders, e até compilá-los novamente, sem que isso altere o shader. Se um programa estiver a ser utilizado, ao realizar link de novo, substitui-se o programa actual (caso a operação de link tenha sucesso). DI-UM Multimédia 37
38 GLSL - Aplicação OpenGL Código para criação de shaders GLuint v,f; v = glcreateshader (GL_VERTEX_SHADER); f = glcreateshader (GL_FRAGMENT_SHADER); vs = textfileread("stripes.vert"); fs = textfileread("stripes.frag"); glshadersource (v, 1, &vs,null); glshadersource (f, 1, &fs,null); glcompileshader (v); glcompileshader (f); DI-UM Multimédia 38
39 GLSL - Aplicação OpenGL Construção do programa... p = glcreateprogram (); glattachshader(p,v); glattachshader(p,f); gllinkprogram (p); gluseprogram(p); DI-UM Multimédia 39
40 GLSL - Aplicação OpenGL Protótipos de funções: void gldetachshader(gluint prog, GLuint shader); Desliga o shader do programa void gldeleteshader (GLuint shader); Liberta os recursos do shader. Esta operação é realizada imediatamente caso o shader não esta ligado a nenhum programa. Caso contrário o shader só será apagado quando não estiver ligado a nenhum programa. DI-UM Multimédia 40
41 GLSL - Aplicação OpenGL Análise dos resultados da compilação e link void glgetshaderiv(gluint object, GLenum type, int *param); Parameters: object - the handler to the object. Either a shader or a program type - GL_COMPILE_STATUS. param - the return value, GL_TRUE if OK, GL_FALSE otherwise. void glgetprogramiv(gluint object, GLenum type, int *param); Parameters: object - the handler to the object. Either a shader or a program type - GL_LINK_STATUS. param - the return value, GL_TRUE if OK, GL_FALSE otherwise. DI-UM Multimédia 41
42 GLSL - Aplicação OpenGL InfoLog A cada shader ou programa está associado um log, com mensagens sobre o processo de compilação ou link, respectivamente. Através deste log, para alem de ser possível detectar se as operações ocorreram sem erros, ainda pode ser dada informação relativamente à capacidade do hardware para executar o shader. DI-UM Multimédia 42
43 GLSL - Aplicação OpenGL InfoLog A seguinte função dá acesso ao texto do log: void glgetshaderinfolog(gluint object, int maxlen, int *len, char *log); void glgetprograminfolog(gluint object, int maxlen, int *len, char *log); Para determinar o parâmetro infologlength invoca-se a seguinte função: void glgetshaderiv(gluint object, GLenum type, int *param); void glgetprogramiv(gluint object, GLenum type, int *param); DI-UM Multimédia 43
44 GLSL - Aplicação OpenGL Comunicação Aplicação -> Shader Os shaders podem ser parametrizados com valores a receber da aplicação. Estes parâmetros são de leitura para os shaders, i.e. os shaders não podem alterar o seu valor. Existem duas categorias para estes valores: Uniform Attribute DI-UM Multimédia 44
45 GLSL - Aplicação OpenGL Parâmetros Uniform São parâmetros que não variam ao longo da primitiva, ou seja, não devem ser modificados entre glbegin e glend. Ex: Posição da luz, índice de refracção, etc... DI-UM Multimédia 45
46 GLSL - Aplicação OpenGL Parâmetros Uniform Setup: Determinar a sua "localização", ou seja um índice que nos permitirá posteriormente aceder ao parâmetro int loc = glgetuniformlocation (GLuint program, char *name); Utilização: Afectar o valor do parâmetro faz-se, por exemplo, através da seguinte função: void gluniform1f (loc, float a); DI-UM Multimédia 46
47 GLSL - Aplicação OpenGL Parâmetros Attribute São tipicamente parâmetros que podem variar por vértice, tal como acontece com normais, ou coordenadas de textura. Ex: A cada vértice pode estar associada uma velocidade. DI-UM Multimédia 47
48 GLSL - Aplicação OpenGL Parâmetros Attribute Setup: Determinar a sua "localização", ou seja um índice que nos permitirá posteriormente aceder ao parâmetro int loc = glgetattriblocation (GLuint program, char *name); Utilização: Afectar o valor do parâmetro é feito, por exemplo, através da seguinte função: glvertexattrib1f (loc, float a); DI-UM Multimédia 48
49 GLSL - Aplicação OpenGL Parâmetros Attribute: Exemplo glbegin(gl_triangle_strip); glvertexattrib1f(1,1.0); glvertex3f(1,2,3); glvertexattrib1f(1,2.0); glvertex3f(4,5,6);... glend(); DI-UM Multimédia 49
50 GLSL - Aplicação OpenGL Parâmetros Attribute: Vertex Arrays void draw() { glvertexpointer(3, GL_FLOAT, 0, verts); glcolorpointer (3, GL_FLOAT, 0, colors); glvertexattribpointer (VELOCIDADES, 3, GL_FLOAT, GL_FALSE, 0, velocities); glenableclientstate (GL_VERTEX_ARRAY); glenableclientstate (GL_COLOR_ARRAY); glenablevertexattribarray (VELOCIDADES); } gldrawarrays (GL_POINTS, 0, n); DI-UM Multimédia 50
51 GLSL - Aplicação OpenGL Parâmetros Attribute - Vertex Arrays Através da API é possível definir os valores para um atributo de um shader num vertex array, através da função: glvertexattribpointer (VELOCIDADES, 3, GL_FLOAT, GL_FALSE, 0, velocities); sendo VELOCIDADES o identificador do atributo e os restantes parâmetros idênticos à definição de um vertex array normal. O quarto parâmetro indica se os valores estão normalizados. DI-UM Multimédia 51
52 GLSL - Aplicação OpenGL Parâmetros Attribute - Vertex Arrays Tal como com os vertex arrays tradicionais é necessário activar o array através da função: glenablevertexattribarray (VELOCIDADES); Ao executar drawarrays, o vertex shader irá receber para cada vértice, o valor correspondente do array VELOCIDADES como atributo. DI-UM Multimédia 52
53 GLSL - Um Pequeno Exemplo Vertex Shader void main(void) { vec4 v = gl_vertex; v.z = sin(2.0*v.x)*0.5; } gl_position = gl_modelviewprojectionmatrix * v; Fragment Shader void main(void) { gl_fragcolor = vec4(0.8,0.3,0.3,1); } DI-UM Multimédia 53
54 GLSL - Bibliografia, Ferramentas "OpenGL Shading Language", Randi Rost, Addison-Wesley. Especificações: RenderMonkey developer.ati.com Shader Designer DI-UM Multimédia 54
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 maisGLSL Programação de Shaders
Universidade do Minho Mestrado em Informática UCE - Computação Gráfica GLSL Programação de Shaders António Ramires Fernandes GLSL Sumário Evolução do Hardware Gráfico PCs Pipeline Gráfico Fixo Pipeline
Leia maisEngenharia Informática Computação Gráfica
Computação Gráfica 11569 - Engenharia Informática Gráficos 3D - Evolução Histórica Computação Gráfica 1 Sumário! Criação de Gráficos! Criação de Modelos 3D! Pipeline Gráfico! Hardware Gráfico! Bibliotecas
Leia maisInstituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. Luiz Felipe Simões Hoffmann
CCI 36 Computação Gráfica OpenGL Parte 1 Instituto Tecnológico de Aeronáutica Prof. Carlos Henrique Q. Forster Sala 121 IEC Luiz Felipe Simões Hoffmann Tópicos da Aula - OpenGL - Histórico - OpenGL Moderno
Leia maisComputação Gráfica. GLSL - Programação de Shaders Toon Mapping; Texturas
Computação Gráfica GLSL - Programação de Shaders Toon Mapping; Texturas António nio Ramires Fernandes - Multimédia GLSL - Programação de Shaders Resumo Toon Shading Coordenadas de Textura Lattice Stripes
Leia maisINF2610 Renderização em Tempo Real. Waldemar Celes. 23 de Março de 2017
Pipeline gráfico INF2610 Renderização em Tempo Real Waldemar Celes celes@inf.puc-rio.br sala 505 RDC Tecgraf, DI/PUC-Rio 23 de Março de 2017 W. Celes Pipeline gráfico 1 Sistemas Gráficos Sistemas híbridos,
Leia maisComputaçã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 maisGeração Procedural de Terrenos em GPU
Geração Procedural de Terrenos em GPU Felipe Gomes Sampaio Universidade Federal de Juiz de Fora Departamento de Ciência da Computação Orientadora: Jesuliana Nascimento Ulysses Agenda Introdução GPU Terrenos
Leia maisOpenGL 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 maisComputação Gráfica. Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho
Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho Computação Gráfica Produção de gráficos 3D Breve visão histórica (OpenGL e 3D na web) António Ramires Fernandes Computação
Leia maisOpenGL Shading Language
OpenGL Shading Language Guilherme S. Moura (gsm@cin.ufpe.br) Saulo A. Pessoa (sap@cin.ufpe.br) Vladimir Alves (vap2@cin.ufpe.br) Felipe Maia O que é? High Level Shading Language para OpenGL Descreve shaders
Leia maisGPU (Graphics Processing Unit) Bruno Padilha Gregory De Bonis Luciana Kayo
GPU (Graphics Processing Unit) Bruno Padilha - 5745282 Gregory De Bonis - 6431180 Luciana Kayo - 6430992 O que é? O que é? - Processador auxiliar responsável principalmente por operações de ponto flutuante
Leia maisSumário. Gráficos 3D - Evolução Histórica. Computação Gráfica. ! Criação de Gráficos. ! Criação de Modelos 3D. ! Pipeline Gráfico. !
Gráficos 3D - Evolução Histórica Computação Gráfica Sumário! Criação de Gráficos! Criação de Modelos 3D! Pipeline Gráfico! Hardware Gráfico! Bibliotecas Gráficas! Gráficos 3D na Internet 1 Criação de Gráficos
Leia maisProf. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca
Dispositivos de Saída e SCC0250 - Computação Gráca Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade
Leia maisComputação Gráfica. Desempenho
Computação Gráfica Desempenho António Ramires Fernandes - Computação Gráfica 07/08 Desempenho Tópicos: Display Lists Vertex Buffer Objects DI-UM Computação Gráfica 07/08 2 Display Lists As DL são um mecanismo
Leia maisUm pouco de história. SketchPad Tese de Doutorado de Ivan Sutherland (MIT) Conceito de comunicação com o computador
Um pouco de história 1 SketchPad - 1963 Tese de Doutorado de Ivan Sutherland (MIT) Conceito de comunicação com o computador http://www.youtube.com/watch?v=bkm3cmrqk2o 2 1 Tecnologia de input 1963 Mouse
Leia maisComputação Gráfica LEI / LCC Departamento de Informática Universidade do Minho. Desempenho. Display Lists e Vertex Bufer Objects
Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho Desempenho Display Lists e Vertex Bufer Objects António Ramires Fernandes Computação Gráfica 09/10 Desempenho Tópicos: Display
Leia maisGPU and GLSL. Prof. João Madeiras Pereira 2008/2009
GPU and GLSL Prof. João Madeiras Pereira 2008/2009 1 Tópicos Evolução do hardware gráfico Pipeline gráfico fixo Pipeline gráfico programável Processador de vértices Processador de fragmentos GLSL Invocação
Leia maisBruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais
Bruno Pereira Evangelista Pontifícia Universidade Católica de Minas Gerais 2/60 Apresentação Introdução Pipeline de renderização Efeitos utilizando GPUs Shaders Como utilizar shaders Ferramentas Demos
Leia maisComputaçã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 maisComputaçã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 maisInstituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. Luiz Felipe Simões Hoffmann
CCI 36 Computação Gráfica OpenGL Parte 3 Instituto Tecnológico de Aeronáutica Prof. Carlos Henrique Q. Forster Sala 121 IEC Luiz Felipe Simões Hoffmann Tópicos da Aula - Texturas - Modelos de Iluminação
Leia maisLuiz Gonzaga da Silveira Jr
Luiz Gonzaga da Silveira Jr O p e n G L evolução recente Luiz Gonzaga da Silveira Jr OpenGL 4.x: D3D a guerra não acabou OpenGL 4.2 - novas funcionalidades: Contadores atômicos para shaders Tesselação
Leia maisRendering 2D com OpenGL e interface gráfica em Qt
Rendering 2D com OpenGL e interface gráfica em Qt Qt Framework multiplataforma para desenvolvimento de interfaces gráficas em C++ https://www.qt.io/ 2 Ferramentas Qt Creator IDE (Ambiente Integrado de
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA DISCIPLINA: COMPUTAÇÃO GRÁFICA - Semestre 2009/1 CÓDIGO: INF01009 PRÉ-REQUISITO: INF01047 Fundamentos
Leia maisCapítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...
Sumário Prefácio...15 Capítulo 1 Introdução...17 Capítulo 2 Instalação...22 2.1 Visão Geral das Bibliotecas OpenGL...22 2.2 Bibliotecas Necessárias para Execução...24 2.3 Bibliotecas Necessárias para Compilação...24
Leia mais5 Frustum culling em GPU
5 Frustum culling em GPU 5.1 Timeline gpu Dois dos pioneiros na área de computação gráfica foram os professores da universidade de Utah, David Evans e Ivan Sutherland, que formaram uma empresa em 1968
Leia mais3 Fundamentos. 3.1 Pipeline de renderização em OpenGL
3 Fundamentos Este capítulo apresenta uma visão geral do pipeline de renderização da versão 4.0 da API OpenGL, tendo como foco os recém-introduzidos estágios de tesselação. Em seguida, é realizada uma
Leia maisCG 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 maisDESENVOLVIMENTO DE UMA FERRAMENTA PARA COMPARAÇÃO DE DESEMPENHO ENTRE ROTINAS IMPLEMENTADAS EM CPU E GPU
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO DESENVOLVIMENTO DE UMA FERRAMENTA PARA COMPARAÇÃO DE DESEMPENHO ENTRE ROTINAS IMPLEMENTADAS
Leia maisIntroduçã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 mais2 Algoritmos de Visibilidade
2 Algoritmos de Visibilidade Este capítulo vai fazer uma rápida revisão em cima dos principais algoritmos de determinação de visibilidade, classificando-os segundo [14]. Também será identificada no pipeline
Leia maisfeedback Aula 8 Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Paulo Gandra de Sousa
Selecção & feedback Aula 8 Sistemas Gráficos e Interactivos Instituto Superior de Engenharia do Porto Paulo Gandra de Sousa psousa@dei.isep.ipp.pt Conteúdo Modos do opengl Selecção Picking feedback 60
Leia maisInstruções Gerais. Enunciado
1 UFF Universidade Federal Fluminense TIC Instituto de Computação TCC Departamento de Ciência da Computação Disciplina: TCC 00.179 Computação Gráfica Professor: Anselmo Montenegro Trabalho de Implementação
Leia maisInstituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. Luiz Felipe Simões Hoffmann
CCI 36 Computação Gráfica OpenGL Parte 2 Instituto Tecnológico de Aeronáutica Prof. Carlos Henrique Q. Forster Sala 121 IEC Luiz Felipe Simões Hoffmann Tópicos da Aula - Índices - Transformações Geométricas
Leia maisvértices dessas células. Exemplos de malhas estruturadas e não-estruturadas são apresentados na Figura 2.
1 Introdução O termo visualização corresponde, no contexto desta dissertação, aos métodos que permitem a extração de informações relevantes a partir de conjuntos de dados complexos, com o auxílio de técnicas
Leia maisEntendendo a geometria
No artigo entitulado Um quadrado com Index Buffer propusemos um desafio: o de construir uma malha quadriculada para o desenho de um chão. A função de construção da malha deveria receber como parâmetro
Leia maisSistemas Gráficos e Modelos Cap 1
Sistemas Gráficos e Modelos (Cap. 1) Criação de Imagem Instituto Superior Técnico, 2006/2007 1 2 Interior com Reflexos Componentes Hardware: Processadores Gráficos Software: Núcleos Gráficos Aplicações:
Leia maisComputação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark. 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 maisSeleção & feedback. Módulo 12. Sistemas Gráficos e Interação. Filipe Pacheco SGRAI 2017/18 DEI-ISEP 333. Instituto Superior de Engenharia do Porto
Módulo 12 Sistemas Gráficos e Interação Instituto Superior de Engenharia do Porto Filipe Pacheco ffp@isep.ipp.pt Seleção & feedback SGRAI 2017/18 DEI-ISEP 333 Conteúdo Modos do OpenGL Seleção Picking Feedback
Leia maisINF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010
Sistemas Gráficos INF1339 Computação Gráfica Tridimensional Waldemar Celes celes@inf.puc-rio.br sala 505 RDC Tecgraf, DI/PUC-Rio 2 de Agosto de 2010 W. Celes Sistemas Gráficos 1 Visualização 3D Objetivo
Leia maisComputação Gráfica. Iluminação
Computação Gráfica Iluminação António nio Ramires Fernandes - Multimédia Iluminação Tópicos: Fundamentos de iluminação Aplicação em OpenGL Modelos de Shading Materiais em OpenGL Iluminação em OpenGL DI-UM
Leia maisVisibilidade. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 7 Apontamentos CG
Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Visibilidade Edward Angel, Cap. 7 Apontamentos CG Pipeline de Visualização 3D Pipeline de Visualização 3D LEIC CG Sombreamento
Leia maisProfessor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Introdução à OpenGL. Instituto de Computação - UFF
Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Introdução à OpenGL 1 OpenGL: introdução OpenGL é uma biblioteca gráfica. É uma interface em software para os dispositivos
Leia maisComputação Gráfica. Daniela G. Trevisan. dtrevisan@joinville.udesc.br. http://www.joinville.udesc.br/portal/professores/dtrevisan/
Computação Gráfica Daniela G. Trevisan dtrevisan@joinville.udesc.br http://www.joinville.udesc.br/portal/professores/dtrevisan/ Computação Gráfica Jogos (Quake 4) Quake 4 By: Activision, Raven Software
Leia maisPrimitivas do OpenGL. Tomás Antônio C. Badan
Primitivas do OpenGL Tomás Antônio C. Badan 1 Primitivas Formas simples que combinadas, geram objetos mais complexos Blocos de construção de objetos Podem ser 1D, 2D ou 3D Vão desde pontos, linhas até
Leia maisFrustum Culling Híbrido Utilizando CPU e GPU. Aluno: Eduardo Telles Carlos Orientador: Alberto Raposo Co-Orientador: Marcelo Gattass
Frustum Culling Híbrido Utilizando CPU e GPU Aluno: Eduardo Telles Carlos Orientador: Alberto Raposo Co-Orientador: Marcelo Gattass Agenda Objetivos Motivação Algoritmos de visibilidade Frustum Culling
Leia maisComputação Gráfica - OpenGl 02
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - OpenGl 02 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisFundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes
Fundamentos de Programação Linguagem C++ aula II - Variáveis e constantes Prof.: Bruno Gomes 1 Variáveis Representa uma porção da memória que pode ser utilizada pelo programa para armazenar informações
Leia maisDesenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais
Desenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais João Gabriel Lima Moraes 1 ;Victor Travassos Sarinho 2 1. Bolsista PIBIC/CNPq, Graduando em Engenharia de Computação, Universidade
Leia maisPipeline de Visualização Câmara Virtual
Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Pipeline de Visualização Câmara Virtual Edward Angel, Cap. 5 Apontamentos CG Questão 2, exame de 20/07/11 [3.0v]Considere os
Leia maisBruno Pereira Evangelista. www.brunoevangelista.com
Bruno Pereira Evangelista www.brunoevangelista.com 2 Introdução Shaders Pipeline de Renderização Evolução dos Shaders Como Programar Shaders Programando Shaders com XNA Ferramentas Conclusões 3 Durante
Leia maisModelagem Geométrica
Modelagem Geométrica Leandro Tonietto Computação Gráfica Desenvolvimento Jogos e Entretenimento Digital ltonietto@unisinos.br http://professor.unisinos.br/ltonietto/jed/cgr/modelgeom.pdf ago-11 02-Mar-11
Leia maisDo triângulo para o quadrado
No artigo anterior, vimos como desenhar um triângulo colorido. Nesse artigo, vamos transformar esse triângulo num quadrado, e mostrar como evitar a duplicação desnecessária de vértices através de um segundo
Leia maisTomás Antônio Costa Badan. Mapa de Textura: O Básico
Tomás Antônio Costa Badan Mapa de Textura: O Básico Introdução De acordo com o www.thefreedictionary.com: Textura Aparência e impressão de uma superfície Superfície de uma material, principalmente sentida
Leia maisUNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos
UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Niterói 2008 Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Trabalho de Conclusão
Leia maisComputação Gráfica. Renderização em Tempo Real. Erivaldo Xavier de Lima Filho desadoc@gmail.com
Computação Gráfica Renderização em Tempo Real Erivaldo Xavier de Lima Filho desadoc@gmail.com Computação Gráfica É a síntese de imagens por computador Consiste de vários passos: o Modelagem o Renderização
Leia maisCâmara Virtual Simples
Câmara Virtual Simples Edward Angel, Cap. 5 Instituto Superior Técnico Computação Gráfica 29/2 Na última aula... Pipeline de Visualiação 3D Câmara Virtual 2, CG&M/IST e Figuras Addison Wesley Sumário Câmara
Leia maisProgramação Gráfica Cap 2
Programação Gráfica (2.2 a 2.7) Instituto Superior Técnico, 2006/2007 Índice Programação 2D Sistemas de Coordenadas API do OpenGL Primitivas e Atributos Introdução à Cor Projecções Interacção com o Sistema
Leia maisDeterminação da Visibilidade
Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática Determinação da Visibilidade Beatriz Sousa Santos, J. Madeira Uma classificação Os métodos de visibilidade podem ser basicamente
Leia maisVisualização por Computador: Teoria, Prática e Aplicações
Visualização por Computador: Teoria, Prática e Aplicações Princípios de sistemas e aplicações gráficas Claudio Esperança Programa de Engenharia de Sistemas e Computação COPPE / UFRJ Master of Information
Leia maisComputaçã. Visão Geral. Sistema Gráfico. Computação Gráfica. Pixels. Sistema Gráfico e o Frame Buffer. Introdução à Computação Gráfica
Visão Geral Computaçã ção o Gráfica Introduçã ção, conceitos básicosb sicos, áreas relacionadas Introdução à Computação Gráfica Como funciona um sistema gráfico Como imagens são representadas Áreas relacionadas,
Leia mais5 Detalhamento de superfícies com tesselação em GPU
5 Detalhamento de superfícies com tesselação em GPU Este capítulo descreve o procedimento realizado para a geração de detalhes em GPU usando tesselação em hardware. Inicialmente, será dada uma visão geral
Leia maisIntrodução as Unidades de Processamento Gráfico (GPUs) Giovane Roslindo Kuhn
Introdução as Unidades de Processamento Gráfico (GPUs) Giovane Roslindo Kuhn Computação Gráfica x Realidade Consulta ao BD SELECT nome FROM Pessoa WHERE idade > 25 Sumário Pipeline Gráfico Fixo (Overview)
Leia maisIntrodução à Computação Gráfica OpenGL Básico. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica OpenGL Básico Claudio Esperança Paulo Roma Cavalcanti OpenGL O que é? Uma API para geração de gráficos 3D e 2D Primitivas vetoriais e matriciais (imagens) Capaz de gerar
Leia mais2º Exame de Animação e Visualização Tridimensional
º Exame de Animação e Visualização Tridimensional Mestrado de Bolonha em Eng. Informática e de Computadores pólo Alameda Prof. responsável João Madeiras Pereira 3 de Janeiro de 8 Nº Nome: Sala: Responda
Leia mais4 Processamento Paralelo
4 Processamento Paralelo Como apresentado no Capítulo 3, o algoritmo de mapeamento de textura com relevo é divido em cinco passos: reinicialização de recursos, configuração da câmera, cálculo de lookup
Leia maisRendering de Polígonos. Determinação de Superfícies Visíveis. Back Face Culling. Back Face Culling. Back Face Culling. Back Face Culling.
Determinação de Superfícies Visíveis M.C.F. de Oliveira Fontes: Hearn & Baker, Cap. 9 Curso CG, University of Leeds (Ken Brodlie): http://www.comp.leeds.ac.uk/kwb/gi21/lectures.html Rendering de Polígonos
Leia maisAntónio Costa. Paulo Roma Cavalcanti
Introdução à Computação Gráfica OpenGL Básico Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti OpenGL O que é? Uma API para geração de gráficos 3D e 2D Primitivas
Leia maisDiscretização. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 7 Apontamentos CG
Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Discretização Edward Angel, Cap. 7 Apontamentos CG Pipeline de Visualização 3D Pipeline de Visualização 3D Pipeline de Visualização
Leia maisComputação Gráfica. Iluminação
Computação Gráfica Iluminação António Ramires Fernandes + Luís Paulo Santos - Computação Gráfica 08/09 Iluminação Tópicos: Fundamentos de iluminação Aplicação em OpenGL Modelos de Shading Materiais em
Leia maisFundamentos de Computação Gráfica. Iluminação
Fundamentos de Computação Gráfica Iluminação Iluminação Tópicos: Fundamentos de iluminação Aplicação em OpenGL Modelos de Shading Materiais em OpenGL Iluminação em OpenGL 2 Iluminação Em CG a iluminação
Leia maisIntrodução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti
Introdução à Computação Gráfica Claudio Esperança Paulo Roma Cavalcanti Estrutura do Curso Ênfase na parte prática Avaliação através de trabalhos de implementação C / C++ OpenGL c/ GLUT Grau (nota) baseado
Leia maisAs GPU no processamento de vídeo em tempo real
As GPU no processamento de vídeo em tempo real Daniel Oliveira Dantas e Junior Barrera (orientador) Universidade de São Paulo (USP), Brasil ddantas,jb@ime.usp.br 1. Introdução Nos últimos anos, as Unidades
Leia maisCG 2013/2014 Primeiro Teste LEIC Alameda/Taguspark
Computação Gráfica Licenciatura em Engenharia Informática e de Computadores Alameda / Taguspark Primeiro Teste 6 de Outubro de 013 O teste tem a duração de 1h00, tolerância incluída. Responda às questões
Leia mais6 A GPU. 6.1 Introdução
6 A GPU These machines are keeping us alive, while other machines are coming to kill us. Interesting, isn't it? Power to give life, and the power to end it. (The Matrix) 6.1 Introdução Há poucos anos,
Leia maisINTRODUÇÃO A OPENGL. Computação Gráfica
INTRODUÇÃO A OPENGL Computação Gráfica OpenGL (Open Graphic Library) Biblioteca de rotinas gráficas e de modelagem, bi e tridimensional, extremamente portável e rápida. Não é uma linguagem de programação,
Leia maisIntrodução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica
Introdução Geral a Computação Gráfica Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de 2 Introdução Geral a O que é CG? Áreas de Atuação Definição, Arte e Matemática Mercado
Leia maisAnimaçã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 maisProgramação em Sistemas Computacionais
Programação em Sistemas Computacionais Linguagem C Introdução, tipos Centro de Cálculo Instituto Superior de Engenharia de Lisboa Jorge Martins (jmartins@isel.pt) baseado no slides de Pedro Pereira Enquadramento
Leia maisGeração de Geometria - Terrenos
Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho Geração de Geometria - Terrenos Imagens e Texturas António Ramires Fernandes Computação Gráfica 09/10 Mapas de Alturas Intensidade
Leia maisComputação Gráfica. Texturas
Computação Gráfica Texturas António nio Ramires Fernandes - Multimédia Texturas Aplicar imagens 1D,2D ou 3D a primitivas geométricas Utilizações: Simular materiais: madeira, granito, tijolo Reduzir complexidade
Leia maisIluminaçã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 maisIntrodução à Programação em C
Introdução à Programação em C Funções Resumo Aula Anterior Tabelas Strings (Tabelas de Caracteres) 2 1 Resumo Funções Definição Protótipo e implementação return e void Passagem por valor Exemplos 3 Funções
Leia maisFundamentos de Computação Gráfica. Texturas
Fundamentos de Computação Gráfica Texturas Texturas Aplicar imagens 1D,2D ou 3D a primitivas geométricas Utilizações: Simular materiais: madeira, granito, tijolo Reduzir complexidade geométrica Simulação
Leia maisProcessamento de áudio em tempo real utilizando dispositivos não convencionais:
Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento paralelo com Pure Data e GPU. André Jucovsky Bianchi ajb@ime.usp.br Departamento de Ciência da Computação Instituto
Leia maisSistemas de coordenadas
No artigo passado explicamos como desenhar um simples triângulo na tela. Entretanto, isso foi feito usando o sistema de coordenadas padrão, que mapeia a tela em intervalos de 1 até 1 em cada eixo. Esse
Leia mais1. Evolução do OpenGL
Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Prof. Cesar Tadeu Pozzer Disciplina: Computação Gráfica Avançada pozzer@inf.ufsm.br 04/17/2016 OpenGL 3.0 1. Evolução do OpenGL
Leia maisOPENGL. Matheus Fuhrmann Stigger [1] e Bruna Cavallero Martins
Matheus Fuhrmann Stigger [1] e Bruna Cavallero Martins [1] Acadêmico do curso de Engenharia da computação da Universidade Católica de Pelotas Bolsista FAPERGS. [2] Acadêmico do curso de Engenharia da computação
Leia maisIntroduçã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 maisTécnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot
Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Tomás Evalero Orellana Universidade Estadual de Santa Cruz Roteiro Breve introdução
Leia maisEnquadramento e Conceitos Fundamentais
Licenciatura em Engenharia Informática e de Computadores Computação Gráfica Enquadramento e Conceitos Fundamentais Edward Angel, Cap. 1 LEIC CG Enquadramento e Conceitos Fundamentais Introdução à Computação
Leia maisIluminaçã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 maisShadow Mapping com Múltiplos Valores de Profundidade
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO CHRISTIAN AZAMBUJA PAGOT Shadow Mapping com Múltiplos Valores de Profundidade Dissertação apresentada
Leia maisInteractividade Básica com GLUT e Primitivas Geométricas
Computação Gráfica LEI / LCC Departamento de Informática Universidade do Minho Interactividade Básica com GLUT e Primitivas Geométricas GLUT Rato, Teclado e Popup Menus OpenGL Desenho e transformações
Leia mais4 Técnicas de Renderização HDR
4 Técnicas de Renderização HDR Após a apresentação, nos capítulos anteriores, dos conceitos fundamentais e dos trabalhos sobre HDR que influenciaram esta dissertação, esse capítulo tem como objetivo a
Leia maisReflexões e Sombras em Superfícies Planares Animação e Visualização Tridimensional Prof. João Madeiras Pereira Instituto Superior Técnico 2005/2006
Reflexões e Sombras em Superfícies Planares Animação e Visualização Tridimensional Prof. João Madeiras Pereira Instituto Superior Técnico 2005/2006 Reflexões - Motivação Ainda não é possível usar algoritmos
Leia maisn À primeira vista: basta desenhar n Uma subrotina para desenhar cada tipo de objeto n Mas... n Como fazer interação? n Como estruturar a cena?
Programação Gráfica Computação Gráfica OpenGL Renato Ferreira À primeira vista: basta desenhar Uma subrotina para desenhar cada tipo de objeto Mas... Como fazer interação? Como estruturar a cena? Como
Leia maisUniversidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática. Transformações 2D
Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática Transformações 2D Computação Visual Beatriz Sousa Santos, Joaquim Madeira Transformações 2D Posicionar, orientar e escalar
Leia mais