António Ramires Fernandes & Luís Paulo Santos – Adaptado por Alex F. V. Machado Computação Gráfica Pipeline Gráfico.

Slides:



Advertisements
Apresentações semelhantes
Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro Conteúdo: - Transformações geométricas no plano.
Advertisements

Computação Gráfica I Conteúdo: Professor: - Objetos gráficos espaciais
Métodos de Culling e Otimizações
Dosvox.
Z-Buffer Método que opera no espaço da imagem
O Planeta da Informática
DCA-0114 Computação Gráfica
OpenGL Computação Gráfica.
10º CAPÍTULO Segmentação de imagem.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Software Básico Silvio Fernandes
Prof. Alex Fernandes da Veiga Machado
Projeções e OpenGL Alex F. V. Machado.
Computação Gráfica (Slide 5)
Modelagem Funcional.
Clipping. b. Triangle Strips Idéia fundamental: minimizar volume de vértices e consequentemente, minimizar cálculos de iluminação, normais, clipping,
COMPUTAÇÃO GRÁFICA.
Introdução a OpenGL (parte final).
Claudio Esperança Paulo Roma Cavalcanti
Geometria Computacional Interseção de Segmentos
Triangle Strips Strips: É possível descrever um triângulo com menos de 3 vértices? Para n triângulos, n+2 vértices Cada Triangulo: V i, V i+1, V i+2 Problema.
GPGPU.
DIM102 1 Curvas e Superfícies 35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227.
Equipamentos 3/25/2017 Equipamentos Computação Gráfica - Gattass.
INF 1366 – Computação Gráfica Interativa
Trabalho 2 FCG Alexandre Valdetaro Gustavo Nunes.
Maria Aparecida Castro Livi
Introdução à Lógica de Programação (cont.)
Computação Gráfica: Aula5: Rendering e Rasterização
Computação Gráfica: Aula5: Rendering e Rasterização
Computação Gráfica: Rendering e Rasterização
Fundamentação Teórica
Programação e Sistemas de Informação
Computação Gráfica Iluminação e Texturas.
Computação Gráfica Pipeline Gráfico.
Geração de Geometria - Terrenos
Revisão da Linguagem C.
Sistemas Operacionais
Arquitectura de Computadores II
Tecnologias Especificas Informática
RECONSTRUÇÃO 3D Equipe: Amora Cristina (acat) Anália Lima (alc5)
Introdução à Computação Gráfica Projeções
César Palomo Dissertação de Mestrado Julho/2009.
Fundamentos da Computação Gráfica Thiago Marques Toledo
Ray Tracing Patrícia Cordeiro Pereira Pampanelli
Faculdade de Computação Universidade Federal de Mato Grosso do Sul
9º ANO INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Arquitetura de computadores
Computação Gráfica Aula 11 Curvas Prof. Leo.
Sistemas Operacionais
Game Engines.
Computação Gráfica Aula 12 Superfícies Prof. Leo.
Técnicas de Modelagem para Aplicações em Computação Gráfica
Computação Gráfica – Visibilidade
Hardware assisted rendering of csg models
Visualização Tridimensional (Câmera Sintética)
1 Pacotes, Quadros e Detecção de Erros Nathalie e Renan Copyright 2002 ©
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Computação Gráfica – Introdução ao OpenGL
Introdução à Multimídia
Shadow Mapping.
Computação Gráfica – Animação
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Computação Gráfica - Recorte
Operações para entrada de dados –Compilação de dados codificação de dados geográficos de uma forma conveniente para o sistema; incluem a digitalização,
IA725 – Computação Gráfica I Mapeamento de textura 27/05/2008
CÁLCULO COM GEOMETRIA ANALÍTICA II Funções de várias variáveis
Operações para entrada de dados –Compilação de dados codificação de dados geográficos de uma forma conveniente para o sistema; incluem a digitalização,
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
1 Computação Gráfica Prof. Dr. Júlio C. Klafke UNIP-Objetivo
Transcrição da apresentação:

António Ramires Fernandes & Luís Paulo Santos – Adaptado por Alex F. V. Machado Computação Gráfica Pipeline Gráfico

Definições Pipeline: Como é chamado o conjunto das etapas de realização de um processo quando este envolve mais de um estágio. Pipeline Gráfico: Ou Pipeline de Renderização, se refere ao conjunto dos processos que acontecem via hardware por meio de uma placa de vídeo que envolve desde a definição de vértices até a renderização decorrente na tela.

Pipeline Gráfico O pipeline gráfico normalmente aceita como entrada cenários 3D e resulta em uma imagem raster 2D de saída. OpenGL e Direct3D são dois modelos de pipeline gráfico aprovados como padrão na indústria.

Pipeline Gráfico Uma representação possível:

Pipeline Gráfico A ordem das operações no OpenGL pode ser vista como seguindo a ordem representada pelo pipeline abaixo: 5

Display Lists 6 Os comandos (geometria ou pixels) podem ser compilados numa display list Estes comandos são armazenados de forma eficiente e enviados para o pipeline sempre que a display list é executada.

Evaluators 7 Toda a geometria deve ser descrita usando vértices. Curvas e superfícies paramétricas, que são inicialmente descritas usando pontos de controle e funções base, são convertidas em representações baseadas em vértices pelos evaluators.

Operações por vértice 8 Transformações geométricas e projecção no espaço do êcran. Iluminação (cálculo da cor do vértice) Coordenadas de textura

Montagem das primitivas 9 View Frustrum clipping. Back face culling, depth evaluation and perspective division Output: Primitivas geométricas transformadas com info sobre cor e coordenadas de texturas para cada vértice

Operações por pixel 10 Transformação de formatos, transformações aplicadas às texturas Leituras do frame buffer.

Montagem de texturas 11 Texture objects. Muti-texturing. Essencialmente, optimizações ao armazenamento e acesso (read/write) a texturas

Rasterização 12 Conversão das primitivas geométricas em fragmentos. Cada fragmento corresponde a um pixel no frame buffer. Cálculo dos fragmentos correspondentes ao interior de um polígono. Cálculo cor, profundidade e coord. de textura por fragmento (interpolação)

Operações por fragmento 13 Aplicação de um texel a cada fragmento. Cálculo de nevoeiro (fog). Alpha-test e depth-buffer test (remoção de superfícies ocludidas) Blending, dithering and masking. Escrita final no frame buffer.

Redundância Todos os vértices são iluminados, antes de ser feito qualquer tipo de culling Todas as primitivas que passam o teste de culling dão origem a fragmentos e todos os fragmentos recebem uma cor, coordenadas de textura e um texel antes do teste do Z-buffer Corolário: São processados muitos vértices e fragmentos que acabarão por não ser visíveis 14 IluminaçãoRaster View Frustrum & Back face culling Texturização Alpha & Z Test

View Frustrum Culling Detectar, por software (i.e., no CPU), quais as primitivas geométricas que não são visíveis por não pertencerem ao campo de visão da câmara 15

View Frustrum Culling Determinar a forma do frustrum 16 Definição do frustrum gluPerspective(fov, ratio, nearDist, farDist); gluLookAt(px,py,pz, lx,ly,lz, ux,uy,uz)

View Frustrum Culling Objectos –Testar se TODOS os vértices de TODOS os polígonos que constituem um objecto estão fora do frustrum não é suficiente para garantir que o objecto está totalmente fora do frustrum –De qualquer forma, testar todos os vértices poderia levar mais tempo do que deixar ser o sistema gráfico a fazer o clipping 17

View Frustrum Culling Objectos –Uma alternativa é calcular um volume elementar que contenha toda a geometria do objecto e testar se este volume está dentro do frustrum –Volumes elementares: esferas e Axis Aligned Boxes (AAB) 18 Dependendo da forma do objecto o volume pode ser mais ou menos eficaz, isto é, ser considerado dentro do frustrum sem que nenhum triângulo aí contido esteja efectivamente dentro do frustrum

View Frustrum Culling Hierarquia de Volumes –Para cenas complexas pode-se justificar utilizar hierarquias: se uma AAB de nível mais elevado não pertence ao frustrum, então não se justifica testar as interiores 19

Shader - O shader consiste em modificar o pipeline gráfico em dois pontos: Vértices e Pixels. - No tratamento do vértice pode-se mudar a cor, vetor de reflexão, posição, etc. Tem melhor desempenho que o outro. - No tratamento de pixels pode fazer alterações de cor e posição, é mais pesado pois executa em todos os pixels da imagem. - Para programar Shader é necessário verificar se o programa usado (modelador 3d, game engine) tem suporte a shader e como importá-los. - Depois pode-se programar em HLSL (específico do DirectX), GLSL (específico do OpenGL) ou NVidia's Cg (funciona como HLSL + GLSL).