A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Grafos de Cena Alberto B. Raposo

Apresentações semelhantes


Apresentação em tema: "Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Grafos de Cena Alberto B. Raposo"— Transcrição da apresentação:

1 Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Grafos de Cena Alberto B. Raposo

2 Alberto Raposo – PUC-Rio Computação Gráfica e Áreas Correlatas Imagem digital Modelos processamento de imagens visão computacional computação gráfica (síntese de imagens) modelagem geométrica

3 Alberto Raposo – PUC-Rio Conceitos Ambiente Virtual –representação de diversos aspectos do mundo real ou abstrato Grafo de Cena –ferramentas conceituais para representação de ambientes virtuais tridimensionais nas aplicações de computação gráfica posição do objeto forma (descrição geométrica) textura da superfície iluminação, etc

4 Alberto Raposo – PUC-Rio Descrição geométrica É qualquer maneira de se representar a forma da entidade que pode ser processada para se obter uma imagem dessa entidade. –A maneira mais comum é a representação aproximada por um conjunto (malhas) de polígonos (mais especificamente por triângulos). –O grau de complexidade da descrição geométrica é, em geral, diretamente proporcional à qualidade visual, porém inversamente proporcional à velocidade com que a imagem é gerada.

5 Alberto Raposo – PUC-Rio Descrição geométrica Modelo 3D Paramétrica Poligonal Partículas Implícitas John Dingliana, 2004

6 Alberto Raposo – PUC-Rio Malhas de Polígonos Construção de modelos 3D usando grupos de polígonos. –Como cada polígono é planar, necessita-se grande quantidade de polígonos para dar a impressão de superfícies curvas 48 polígonos120 polígonos300 polígonos1000 polígonos John Dingliana, 2004

7 Alberto Raposo – PUC-Rio Câmera A câmera é a visão do mundo virtual. –Geralmente ela é uma câmera de projeção perspectiva

8 Alberto Raposo – PUC-Rio Transformações O objeto é posicionado no mundo virtual através de uma transformação geométrica. –Transforma as coordenadas locais do objeto nas coordenadas do mundo virtual. –As transformações são importantes para definir a hierarquia dos objetos Exemplos: translação, rotação e escalamento

9 Alberto Raposo – PUC-Rio Aparência Material, textura, transparência, sombra e reflexão estão entre os diversos atributos que definem a aparência de um objeto. Assim como a descrição geométrica, a aparência interfere diretamente na imagem final sendo gerada e na velocidade de geração.

10 Alberto Raposo – PUC-Rio Comportamento Um objeto pode ser estático ou dinâmico. O objeto dinâmico é aquele que muda de posição, forma ou aparência entre um quadro e outro

11 Alberto Raposo – PUC-Rio Gouraud Phong Iluminação Várias fontes de luz podem ser adicionadas à cena (puntual, direcional, spotlight, etc.) Vários são os modelos de iluminação que podem ser empregados –Gouraud –Phong, etc

12 Alberto Raposo – PUC-Rio Grafo de Cena Todos os aspectos anteriores (descrição geométrica, transformações, câmera, etc) devem ser inseridos em um grafo de cena para representar o ambiente virtual.

13 Alberto Raposo – PUC-Rio Grafo de Cena O grafo de cena é formado por nós conectados por arestas compondo um grafo acíclico direcionado. Cada nó possui um conjunto de atributos que podem, ou não, influenciar seus nós conectados. Os nós são organizados de uma maneira hierárquica correspondendo semântica e espacialmente ao mundo modelado.

14 Alberto Raposo – PUC-Rio Grafo de Cena Noção de agrupamento espacial é essencial. –Grafo ao lado representa semanticamente a mesma casa do exemplo anterior, mas não representa organização espacial.

15 Alberto Raposo – PUC-Rio Estrutura Hierárquica da Cena Hierarquia de nós definindo o grafo hierárquico da cena

16 Alberto Raposo – PUC-Rio Tipos de Nós Raiz –Primeiro nó do grafo e todos os outros nós estão ligados a ele direta ou indiretamente. Intermediários (internos ou de agrupamento) –Possuem várias propriedades, sendo o uso mais comum o de representar transformações 3D (rotação, translação e escala). Folha –Contêm, geralmente, a representação geométrica de um objeto.

17 Alberto Raposo – PUC-Rio Herança de estado Os grafos de cena implementam um princípio chamado de herança de estado. –Nós internos armazenam o estado do sistema, onde estado significa a posição e a orientação dos objetos no ambiente virtual e seus atributos de aparência. –A herança de estado é uma propriedade dos grafos de cena que determina que cada nó deve herdar as propriedades de estado de todos os seus ancestrais no grafo até a raiz.

18 Alberto Raposo – PUC-Rio Herança de estado Atributos e transformações aplicadas hierarquicamente

19 Alberto Raposo – PUC-Rio Grafos de Cena Organização hierárquica da cena Otimizações essenciais para visualização em tempo real em RV –Descartes (retirar da cena objetos que não aparecem na visualização) –LOD (Level of Detail) Melhoria no desempenho da aplicação!

20 Alberto Raposo – PUC-Rio Volume envolvente (bounding box) Geralmente uma caixa alinhada ou uma esfera, que engloba o conteúdo de todos os nós abaixo do nó em questão.

21 Alberto Raposo – PUC-Rio Descarte por volume de visão (frustum culling) O grafo de cena testa a interseção do volume envolvente do nó com o volume de visão do observador. –Se o volume envolvente estiver completamente fora do campo de visão, o nó e toda a sua subárvore são descartados. –Se o mesmo estiver completamente dentro do campo de visão, o nó e toda a sua subárvore são percorridos. –Caso a interseção seja parcial, o teste é refeito durante o percurso da subárvore.

22 Alberto Raposo – PUC-Rio Descarte por volume de visão (frustum culling) descartado totalmente visualizado desce nível no grafo para avaliar nós filhos

23 Alberto Raposo – PUC-Rio Descarte por oclusão (occlusion culling) Objetivo de evitar a renderização de primitivas que estejam ocultas por outras partes da cena. A idéia por trás dos algoritmos de oclusão é realizar algum pré-processamento ou alguns testes durante a renderização para evitar que dados sejam enviados desnecessariamente para a placa.

24 Alberto Raposo – PUC-Rio Descarte por oclusão (occlusion culling)

25 Alberto Raposo – PUC-Rio Organização espacial Se um nó for descartado, toda a sua subárvore será descartada. Por esse motivo, uma cena organizada espacialmente será muito mais eficiente do que uma cena que foi montada aleatoriamente.

26 Alberto Raposo – PUC-Rio LOD – Level of Detail À medida que à distância da câmera a um modelo aumenta, o espaço por este ocupado na janela diminui e, conseqüentemente, o detalhe com que é visualizado também diminui. O LOD permite definir representações alternativas para um objeto gráfico, cada uma sendo ativada de acordo com a distância ao observador.

27 Alberto Raposo – PUC-Rio LOD Torna-se desnecessário e ineficiente definir o objeto com todo detalhe. O objetivo principal é o de utilizar diferentes representações de um modelo, normalmente de resoluções distintas, que serão selecionadas de acordo com um critério de decisão pré-determinado. Um dos critérios de decisão mais utilizado é à distância do modelo à câmera.

28 Alberto Raposo – PUC-Rio Grafos de Cena Produtividade –Grafo de cena gerencia toda a parte gráfica, reduzindo as várias linhas de código que seriam necessárias para implementar a mesma funcionalidade utilizando uma interface de programação baixo nível, como a OpenGL. Portabilidade –Grafos de cena encapsulam as tarefas de baixo nível necessárias para renderizar a cena e ler e escrever arquivos, reduzindo, ou até mesmo extinguindo, a quantidade de código que é específica de alguma plataforma. Escalabilidade –Grafos de cena são feitos para funcionar em configurações simples baseadas em computadores de mesa e placas gráficas aceleradoras convencionais ou em hardware complexo, como cluster de máquinas gráficas.

29 Alberto Raposo – PUC-Rio Exemplos de Grafos de Cena SGI OpenGL Performer Open Inventor OpenSceneGraph OpenSG OpenRM VRML / X3D

30 Alberto Raposo – PUC-Rio Exemplo de Grafo de Cena SGI OpenGL Performer Interface de programação para desenvolvimento de aplicações gráficas 3D em tempo real. Funciona em IRIX, Linux e Windows Baseado em OpenGL. Excelente solução para renderização em tempo real. Solução comercial de alto custo Desenvolvida especialmente para equipamentos da Silicon Graphics. –Em outros equipamentos, boa parte das otimizações não estão presentes.

31 Alberto Raposo – PUC-Rio Exemplo de Grafo de Cena SGI OpenGL Performer

32 Alberto Raposo – PUC-Rio Exemplo de Grafo de Cena OpenScenGraph Interface de programação construída sobre OpenGL Responsável pela gerência do grafo de cena e otimizações gráficas Multi-plataforma, gratuito e de código aberto Por ser orientado a objetos, o OpenSceneGraph é bastante extensível, permitindo ao usuário a criação de novas funcionalidades sem a necessidade de modificação do seu código fonte.

33 Alberto Raposo – PUC-Rio VRML X3D é evolução da VRML (Virtual Reality Modeling Language) –Surgiu da necessidade de prover um formato gráfico 3D para a Web Modelo similar à HTML –linguagem textual –independente de plataforma –Linguagem independente de plataforma para a publicação de páginas Web tridimensionais –Objetivo: prover ricos ambientes tridimensionais interativos, permitindo ao usuário definir mundos estáticos e animados, e interagir com eles –Linguagem escolhida como referência: Open Inventor

34 Alberto Raposo – PUC-Rio VRML - Exemplo Viewpoint PointLight Transform Shape Text FontStyle Appearance Sphere Material Appearance Material Box Grafo do exemplo anterior

35 Alberto Raposo – PUC-Rio X3D (Extensible 3D) Proposta para nova versão de VRML –Compatibilidade com VRML 97 –Integração com XML definição de um novo conjunto de tags adequado à classe de documentos que se deseja representar –Componentização funcionalidade crucial encapsulada em um núcleo –Extensibilidade núcleo expandido para prover novas funcionalidades (e.g., H-Anim, GeoVRML)

36 Alberto Raposo – PUC-Rio X3D - Exemplo de Código

37 Alberto Raposo – PUC-Rio X3D - Exemplo de Código

38 Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Grafos de Cena Alberto B. Raposo


Carregar ppt "Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Grafos de Cena Alberto B. Raposo"

Apresentações semelhantes


Anúncios Google