INF 1366 – Computação Gráfica Interativa Grafos de Cena

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Advertisements

Um sistema de gerenciamento de conteúdo baseado em XML.
Computação Gráfica I Conteúdo: Professor: - Objetos gráficos espaciais
Redes de computadores I
DCA-0114 Computação Gráfica
UML Visões – Parte 2.
Tecnologia Hipermídia e Multimídia
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
JOGOS.
António Ramires Fernandes & Luís Paulo Santos – Adaptado por Alex F. V. Machado Computação Gráfica Pipeline Gráfico.
Projeto de Sistemas de Software
Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 7 de abril de.
COMPUTAÇÃO GRÁFICA.
Introdução à Computação Gráfica Colorização
Ismael Andrade Pimentel
INF 1366 – Computação Gráfica Interativa
Alberto B. Raposo INF 1366 – Computação Gráfica Interativa Raytracing (resumo) POVRAY – Persistence of Vision Raytracer Alberto.
INF 1366 – Computação Gráfica Interativa X3D
INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.
INF 1366 – Computação Gráfica Interativa Modelagem Geométrica
A terceira dimensão.
Concepts and Capabilities
Introdução ao paradigma de programação: Orientado a Objetos
Introdução a diagrama de classes e UML
Computação Gráfica: Aula5: Rendering e Rasterização
Computação Gráfica: Rendering e Rasterização
Aplicação da modelagem 3D no setor Industrial
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
UNIVERSIDADE KIMPA VITA
Threads.
TÉCNICAS DE PROGRAMAÇÃO II
Professor Fernando Luís
Computação Gráfica: Aula6: Iluminação
Fundamentos da Computação Gráfica Thiago Marques Toledo
Projeto de Sistemas de Software
RV imersiva e não imersiva Conceitos e Dispositivos
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
Realidade Virtual Aula 7
Rodrigo Cristiano Silva
REVISÃO.
Projeto de Banco de Dados
Computação Gráfica – Visibilidade
Professor: Márcio Amador
Hardware assisted rendering of csg models
SISTEMAS DISTRIBUIDOS Aula 4
Go3D! A 3D Graphics Engine Carlos Tosin. Divisão Estrutura dividida em 4 componentes Core (46 classes) Áudio (4 classes) Script (4 classes) Renderer (37.
Sistemas operacionais
Sistemas Distribuídos
Dynamic Adjustment of Stereo Parameters for Virtual Reality Tools Felipe Carvalho, Daniel R. Trindade, Peter F. Dam, Alberto Raposo, Ismael H. F. dos Santos.
Realidade Virtual Aula 5
Módulo de visualização de modelos numéricos de superfície da estação fotogramétrica digital E-Foto (MV3D) Rodrigo Machado Alvarenga.
Introdução à Multimídia
VRML. Roteiro  Introdução  A história de VRML  Visão geral  Potencial  Fundamentos  Ferramentas de software  Vantagens e Desvantagens  Conclusões.
Ferramentas de Suporte a MDD: Um Quadro Comparativo
EXtensible 3D Felipe Leite (fml) Moroni Granja (mog) Rodrigo Leite (rml2) Rodrigo Marroquim (rpm)
OGRE 3D Open Source Graphics Engine Seminário Introdução à Multimídia.
Realidade Virtual Aula 2 Remis Balaniuk. Enxergando grande, começando pequeno Quem começa a aprender RV normalmente sofre um primeiro impacto negativo.
Plano de Aulas  Estruturas de aceleração  Descarte contra volume de visão  Descarte por oclusão  Grafo de cena: OpenSceneGraph  Traçado de raios em.
Banco de Dados Universidade do Estado de Santa Catarina
Análise e Projeto de Sistemas
PSI 5789 Conceitos Avançados de Síntese de Imagens Marcio Lobo Netto LSI - PEE - EPUSP Universidade.
Ray Tracing Autor: Osvaldo Ramos Tsan Hu Orientador: Prof. Marcio Lobo.
Prof. Wallace Borges Cristo
Projeto de Banco de Dados
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Modelos de dados.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
Transcrição da apresentação:

INF 1366 – Computação Gráfica Interativa Grafos de Cena Alberto B. Raposo abraposo@tecgraf.puc-rio.br http://www.tecgraf.puc-rio.br/~abraposo/INF1366 Alberto Raposo – PUC-Rio

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

Conceitos Ambiente Virtual Grafo de Cena 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 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. Alberto Raposo – PUC-Rio

Descrição geométrica Modelo 3D Implícitas Poligonal Partículas John Dingliana, 2004 Implícitas Modelo 3D Poligonal Partículas Paramétrica 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ígonos 120 polígonos 300 polígonos 1000 polígonos Alberto Raposo – PUC-Rio John Dingliana, 2004

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

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 Alberto Raposo – PUC-Rio Gouraud Phong

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. 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. 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. Alberto Raposo – PUC-Rio

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

Tipos de Nós Raiz Intermediários (internos ou de agrupamento) Folha 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. 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. Alberto Raposo – PUC-Rio

Herança de estado Atributos e transformações aplicadas hierarquicamente 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! 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. 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. 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 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. Alberto Raposo – PUC-Rio

Descarte por oclusão (occlusion culling) 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. 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. 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. Alberto Raposo – PUC-Rio

Grafos de Cena Produtividade Portabilidade Escalabilidade 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. Alberto Raposo – PUC-Rio

Exemplos de Grafos de Cena SGI OpenGL Performer Open Inventor OpenSceneGraph OpenSG OpenRM VRML / X3D 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. Alberto Raposo – PUC-Rio

Exemplo de Grafo de Cena SGI OpenGL Performer 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. 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 Alberto Raposo – PUC-Rio

VRML - Exemplo Grafo do exemplo anterior Viewpoint PointLight Transform Transform Transform Shape Shape Shape Box Appearance Sphere Appearance Text Material Material FontStyle 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) Alberto Raposo – PUC-Rio

X3D - Exemplo de Código <?xml version=“1.0” encoding=“utf-8”?> <!DDOCTYPE X3D PUBLIC “http://www.web3D.org/TaskGroups/x3d/translation/x3d-compromise.dtd” “file://localhost/C:/www.web3D.org/TaskGroups/x3d/translation/x3d-compromise.dtd” [ <!ENTITY % VRML97Profile “INCLUDE”> <!ENTITY % CoreProfile “IGNORE”> <!ENTITY % X3dExtensions “IGNORE”> <!ENTITY % GeoVrmlProfile “INCLUDE”> <!ENTITY % HAnimProfile “INCLUDE”> ]> Alberto Raposo – PUC-Rio

X3D - Exemplo de Código <X3D> <Scene> <Transform> <children> <NavigationInfo headlight=“false” avatarSize=“0.25 1.6 0.75” type=“"EXAMINE"”/> <DirectionalLight/> <Transform translation=“3.0 0.0 1.0”> <Shape> <geometry><Sphere radius=“2.3”/></geometry> <appearance><Appearance> <material> <Material diffuseColor=“1.0 0.0 0.0”/></material> </Appearance></appearance> </Shape> </children> </Transform> </Scene> </X3D> Alberto Raposo – PUC-Rio

INF 1366 – Computação Gráfica Interativa Grafos de Cena Alberto B. Raposo abraposo@tecgraf.puc-rio.br http://www.tecgraf.puc-rio.br/~abraposo/INF1366 Alberto Raposo – PUC-Rio