INF 1366 – Computação Gráfica Interativa X3D: Grouping Nodes, Viewing & Navigation, Appearance Alberto B. Raposo abraposo@tecgraf.puc-rio.br http://www.tecgraf.puc-rio.br/~abraposo/INF1366.

Slides:



Advertisements
Apresentações semelhantes
Faculdades Integradas Santa Cruz
Advertisements

Computação Gráfica I Conteúdo: Professor: - Objetos gráficos espaciais
António Ramires Fernandes & Luís Paulo Santos – Adaptado por Alex F. V. Machado Computação Gráfica Pipeline Gráfico.
Projeções e OpenGL Alex F. V. Machado.
Modelos de ILuminação Alex F. V. Machado.
Transformações espaciais geométricas
Mapeamento de Texturas e Visualização de Terreno
Introdução à Computação Gráfica Geometria
Geometria Computacional Interseção de Segmentos
Introdução à Computação Gráfica Colorização
Gestão de telas e ambientes em jogos 2D
Ismael Andrade Pimentel
Captura de Texto em um Quadro Branco
INF 1366 – Computação Gráfica Interativa
Mapeamento de texturas com redução de aliasing Lorenzo Ridolfi
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 1366 – Computação Gráfica Interativa Grafos de Cena
INF 1366 – Computação Gráfica Interativa Iluminação e Shading
INF 1366 – Computação Gráfica Interativa Modelagem Geométrica
A terceira dimensão.
Computação Gráfica: Aula8: Iluminação
Computação Gráfica: Rendering e Rasterização
Computação Gráfica: Aula6: Iluminação
Básico.
Tópicos Aparência Importando Arquivos Inserção de Textos Interagindo com o AV.
PSI-2652: Processamento, Síntese e Análise de Imagens II Rodrigo Debczynski Fernandes – n°USP Prof. Marcio Lobo.
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
Html (2 º parte) Fernanda Barroso UM.
An Improved Illumination Model for Shaded Display
Computação Gráfica: Aula6: Iluminação
AS CORES DOS OBJETOS A luz branca é uma mistura de todas as cores.
Carlos Oliveira Modelos de Reflexão.
Mini-Curso: X3D Básico Gustavo Francisco Frizzo Cleber Alexandre de Azevedo.
Visão Computacional Shape from Shading
Ray Tracing Felipe Baldino Moreira Fundamentos de Computação Gráfica
Layout.
Rodrigo Cristiano Silva
INFORMÁTICA PARA CONCURSOS
Visão Computacional Formação da Imagem
Carlos Oliveira Sumário Descrição e Objetivo O Método de Tsai Implementação Resultados obtidos Melhoramentos.
Computação Gráfica – Textura
HTML HyperText Markup Language Uma linguagem de marcação.
ÓPTICA GEOMÉTRICA PREGOLINI.
Thiago Aurélio Prof. Dr. Paulo Roberto Gomes Luzzardi
Computação Gráfica – Visibilidade
1.Acesso a página do CCEAD. Login e Senha. 2.Verificando os alunos inscritos na turma. 3.Configurações iniciais da disciplina 4.Configurações do tópico.
Dissertação de Mestrado
Visão Computacional
Renderização em Tempo Real
Unidade 6 – Formulários HTML Prof.: Henrique Santos
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Dynamic Adjustment of Stereo Parameters for Virtual Reality Tools Felipe Carvalho, Daniel R. Trindade, Peter F. Dam, Alberto Raposo, Ismael H. F. dos Santos.
Sistemas de Rastreamento de Baixo Custo para Desktops Tecgraf (Grupo de Tecnologia em Computação Gráfica) Depto. de Informática, PUC-Rio Alberto Raposo,
Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Event Utilities e Scripting Alberto B. Raposo
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Realidade Virtual Aula 2 Remis Balaniuk. Enxergando grande, começando pequeno Quem começa a aprender RV normalmente sofre um primeiro impacto negativo.
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,
Visão Computacional Formação da Imagem Radiometria
Introdução à Computação Gráfica Texturas
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.
Comportamento e Natureza da Luz
Computação Gráfica: Aula6: Iluminação
Rendering Por Adinan Aguiar.
Introdução à Computação Gráfica Iluminação
Proposta de trabalho: Rastreamento da movimentação de uma câmera.
Nossos 2 olhos formam imagens ligeiramente diferentes do mundo A diferença entre as posições de objetos nas 2 images é chamada de disparidade O termo disparidade.
Introdução à Computação Gráfica Ray Tracing Claudio Esperança Paulo Roma Cavalcanti.
1 Computação Gráfica Prof. Dr. Júlio C. Klafke UNIP-Objetivo
Transcrição da apresentação:

INF 1366 – Computação Gráfica Interativa X3D: Grouping Nodes, Viewing & Navigation, Appearance Alberto B. Raposo abraposo@tecgraf.puc-rio.br http://www.tecgraf.puc-rio.br/~abraposo/INF1366 Alberto Raposo – PUC-Rio

Abstract Node Types X3DChildNode X3DBoundedObject X3DGroupingNode X3DInfoNode X3DUrlObject (Interface) Alberto Raposo – PUC-Rio

X3DChildNode Comum a todos os nós X3D. Indica que o nó pode ser usado como filho de um nó de agrupamento Usado nos campos children, addChildren e removeChildren de um X3DGroupingNode Type accessType Name Default Range Profile SFNode inputOutput metadata NULL [X3DMetadataObject] Core Alberto Raposo – PUC-Rio

X3D Profiles Alberto Raposo – PUC-Rio

X3DBoundedObject Objeto que pode ter uma “bounding box”, útil para determinar visibilidade e tratar colisão de objetos Type accessType Name Default Range Profile SFVec3f initializeOnly bboxCenter 0 0 0 (-, ) Interchange bboxSize -1 -1 -1 [0, ) ou -1 -1 -1 Sem bounding box Alberto Raposo – PUC-Rio

X3DGroupingNode Implementa X3DChildNode e X3DBoundedObject Type accessType Name Default Range Profile MFNode inputOutput children [ ] [X3DChildNode] Interchange inputOnly addChildren Interactive removeChildren SFVec3f initializeOnly bboxCenter 0 0 0 (-, ) bboxSize -1 -1 -1 [0, ) ou -1 -1 -1 SFNode metadata NULL [X3DMetadataObject] Core Alberto Raposo – PUC-Rio

X3DInfoNode e X3DUrlObject X3DInfoNode (permite que qualquer nó tenha metadados) X3DUrlObject Type accessType Name Default Range Profile SFNode inputOutput metadata NULL [X3DMetadataObject] Core Type accessType Name Default Range Profile MFString inputOutput url [ ] [ URN ] Interchange ou Interactive Alberto Raposo – PUC-Rio

Grouping Nodes Nós para agrupar outros nós, criando a estrutura hierárquica da cena. Objetivos: Estruturar a cena, agrupando “pedaços” relacionados Criar subgrapfs de nós relacionados, facilitando, por exemplo, a animação Manter sistema de coordenadas comum Facilitar reuso de partes da cena (DEF e USE) Alberto Raposo – PUC-Rio

Grouping Nodes Exemplos Group / StaticGroup Transform Inline LOD Switch Anchor Billboard Collision Alberto Raposo – PUC-Rio

Group / StaticGroup Apenas agrupa nós da cena StaticGroup não permite modificações (inserção, remoção, animação, ou qualquer alteração) nos seus nós filhos Porém, o browser pode fazer otimizações na estrutura interna do grafo de cena, aumentando desempenho da visualização Alberto Raposo – PUC-Rio

Group / StaticGroup Alberto Raposo – PUC-Rio Ver exemplo animado

Transform Define systema de coordenadas para os filhos Cada filho pode ter suas transformações, em relação ao sistema de coordenadas do pai. Alberto Raposo – PUC-Rio

Inline Pega nó de um outro arquivo X3D (do primeiro endereço válido a partir de uma lista de urls). Mais “forte” que um link em HTML, que só direciona para um url. O Inline deve referenciar um arquivo X3D válido e que não ultrapasse as restrições de profile, componentes e nível do arquivo que o chama. Alberto Raposo – PUC-Rio

Inline Não permite inclusão e remoção de filhos (addChildren e removeChildren) Type accessType Name Default Range Profile SFBool inputOutput load true Immersive MFString url NULL Interactive SFVec3f initializeOnly bboxCenter 0 0 0 (-, ) Interchange bboxSize -1 -1 -1 [0, ) ou -1 -1 -1 SFNode metadata [X3DMetadataObject] Core Alberto Raposo – PUC-Rio

Inline Alberto Raposo – PUC-Rio

LOD Implementa níveis de detalhes Type accessType Name Default Range Profile SFVec3f initializeOnly center 0 0 0 (-, ) Immersive MFFloat range [ ] SFBool forceTransitions False Immersive (v 3.1) MFNode inputOutput children [X3DChildNode] Interchange bboxCenter bboxSize -1 -1 -1 [0, ) ou -1 -1 -1 SFNode metadata NULL [X3DMetadataObject] Core Alberto Raposo – PUC-Rio

LOD Exemplo de LOD Alberto Raposo – PUC-Rio

Switch “Similar” ao LOD, mas é autor quem define qual dos filhos será renderizado (apenas 1 pode ser renderizado a cada instante) Usado, por exemplo, para animação de geometrias Type accessType Name Default Range Profile SInt32 inputOutput whichChoice -1 [-1, ) Immersive MFNode children [ ] [X3DChildNode] Interchange SFVec3f initializeOnly bboxCenter 0 0 0 (-, ) bboxSize -1 -1 -1 [0, ) ou -1 -1 -1 SFNode metadata NULL [X3DMetadataObject] Core Alberto Raposo – PUC-Rio

Switch - Exemplo Alberto Raposo – PUC-Rio

Anchor É um hiperlink dentro da cena: move para outra câmera ou outra cena X3D Type accessType Name Default Range Profile SFString inputOutput description “” (null string) Interactive MFString url parameter MFNode children [ ] [X3DChildNode] inputOnly addChildren removeChildren SFVec3f initializeOnly bboxCenter 0 0 0 (-, ) bboxSize -1 -1 -1 [0, ) ou -1 -1 -1 SFNode metadata NULL [X3DMetadataObject] Core Alberto Raposo – PUC-Rio

Anchor - parâmetros url parameter Lista de urls de onde se pegará o primeiro válido, ao se selecionar o(s) objeto(s) do Anchor parameter Informações adicionais parameter = “target=blank” parameter = “target=frame_name” Alberto Raposo – PUC-Rio

Billboard Objetos do nó Billboard estão sempre “virados” de frente para a câmera. Bom para texto, por exemplo. Type accessType Name Default Range Profile SFVec3f inputOutput axisOfRotation 0 1 0 (-, ) Immersive MFNode children [ ] [X3DChildNode] inputOnly addChildren Interactive removeChildren initializeOnly bboxCenter 0 0 0 bboxSize -1 -1 -1 [0, ) ou -1 -1 -1 SFNode metadata NULL [X3DMetadataObject] Core Exemplo de Billboard Alberto Raposo – PUC-Rio

Collision Detecta colisão entre câmera e objetos agrupados nesse nó. Apenas nós geométricos provêem colisão, com exceção de pontos, linhas e texto Pode ter um objeto proxy (não renderizado) que substitui a geometria real para efeito de cálculos de colisão (geralmente usado para otimização do cálculo). Alberto Raposo – PUC-Rio

Collision Alberto Raposo – PUC-Rio Type accessType Name Default Range Profile SFBool inputOutput enabled True Immersive SFTime collideTime outputOnly isActive SFNode initializeOnly proxy NULL Shape ou X3DChildNode MFNode children [ ] [X3DChildNode] inputOnly addChildren removeChildren SFVec3f bboxCenter 0 0 0 (-, ) bboxSize -1 -1 -1 [0, ) ou -1 -1 -1 metadata [X3DMetadataObject] Core Alberto Raposo – PUC-Rio

Viewing & Navigation Nodes X3DBindableNode Só um nó de cada tipo bindable pode estar ativo a cada instante Exemplos Viewpoint NavigationInfo Background TextureBackground Fog Alberto Raposo – PUC-Rio

X3DBindableNode Type accessType Name Default Range Profile SFBool inputOnly set_bind Interactive outputOnly isBound SFTime bindTime SFNode inputOutput metadata NULL [X3DMetadataObject] Core Alberto Raposo – PUC-Rio

Viewpoint (câmera) Type accessType Name Default Range Profile SFVec3f inputOutput centerOfRotation 0 0 0 (-, ) Interactive SFString description “” (null string) Immersive SFFloat fieldOfView  /4 (0, ) SFBool jump true SFRotration orientation 0 0 1 0 [-1 1] (-, ) position inputOnly set_bind outputOnly isBound SFTime bindTime SFNode metadata NULL [X3DMetadataObject] Core centerOfRotation: ponto em torno do qual a câmera girará no EXAMINE Alberto Raposo – PUC-Rio

NavigationInfo Alberto Raposo – PUC-Rio

NavigationInfo type Alberto Raposo – PUC-Rio

NavigationInfo speed headlight transitionType Velocidade com que o usuário navega na cena headlight Se há uma luz direcional (não é luz spot – luz de capacete de mineiro) na direção do look-at transitionType Como se dá a trasição entre câmeras: TELEPORT, LINEAR (interpolação), ou ANIMATE (browser-specific) Alberto Raposo – PUC-Rio

NavigationInfo visibilityLimit avatarSize Distância esperada do objeto mais distante visível 0 significa sem distância máxima avatarSize Alberto Raposo – PUC-Rio

Aparência, Material e Textura Cada nó Shape tem: 1 aparência (Appearance node) 1 X3DGeometryNode Cada nó Appearance têm: 1 Material node Transparência e uma série de propriedades de cor 1 FillProperties e 1 LineProperties nodes Padrões para preenchimento e cores de borda 1 Texture node Aplica imagem ou vídeo sobre superfície do objeto geométrico Alberto Raposo – PUC-Rio

Apperance Alberto Raposo – PUC-Rio

Material Node Alberto Raposo – PUC-Rio

Material Node ambientIntensity diffuseColor O quanto de luz ambiente essa superfície reflete (depende apenas das fontes de luz, e não de suas posiçõesem relação ao objeto) diffuseColor Reflete as fontes de luz em função de seus ângulos em relação à superfície: quanto mais direto, mais reflexão Alberto Raposo – PUC-Rio

Material Node emissiveColor specularColor e shininess transparency O quanto de luz o próprio objeto emite (i.e., ele será visível sem nenhuma outra fonte de luz no ambiente) specularColor e shininess Definem os highlights especulares em função do ângulo da fonte com o objeto e também do observador em relação ao objeto: se esses 2 ângulos forem próximos, maior a reflexão especular Menor shininess significa highlight mais “soft” transparency 0 é opaco, e 1 e completamente transparente Alberto Raposo – PUC-Rio

Material Nodes: Exemplos Apenas diffuseColor="1 0 0" Apenas emissiveColor="0 0 1" Apenas specularColor="0 1 0" e diffuseColor="1 0 0" Usando transparência parcial na esfera ao lado Alberto Raposo – PUC-Rio

Testando materiais http://tog.acm.org/resources/applets/vrml/pellucid.html Alberto Raposo – PUC-Rio

Texturas Modelos de iluminação não são apropriados para descrever todas as diferenças de cor observáveis em uma superfície Superfícies pintadas com padrões ou imagens A capa ou uma página de um livro Superfícies com padrões de rugosidade Tecidos ou uma parede de tijolos Em princípio é possível modelar esses detalhes com geometria e usando materiais de propriedades óticas distintas Na prática, esses efeitos são modelados usando uma técnica chamada mapeamento de textura Cláudio Esperança e Paulo Roma Cavalcanti www.lcg.ufrj.br/Cursos/COS-751/texturas-ppt Alberto Raposo – PUC-Rio

Mapeamento de Textura A idéia é reproduzir sobre a superfície de algum objeto da cena as propriedades de alguma função – ou mapa - bidimensional (cor, por exemplo) Cláudio Esperança e Paulo Roma Cavalcanti www.lcg.ufrj.br/Cursos/COS-751/texturas-ppt Alberto Raposo – PUC-Rio

Espaço de Textura t Texturas 2D são funções T (s, t) cujo domínio é um espaço bidimensional e o contradomínio pode ser cor, opacidade, etc É comum ajustar a escala da imagem de tal forma que a imagem toda se enquadre no intervalo 0 ≤ s, t ≤ 1 Normalmente a função em si é derivada de alguma imagem capturada Se a imagem está armazenada numa matriz Im [0..N–1 , 0..M–1] Então T (s, t) = Im [ (1 – t) N , s M ] 1 1 s Cláudio Esperança e Paulo Roma Cavalcanti www.lcg.ufrj.br/Cursos/COS-751/texturas-ppt Alberto Raposo – PUC-Rio

Espaço de Textura Pode ser vantajoso assumir que o padrão da imagem se repete fora desse intervalo T (s, t) = Im [ (1 – t) N mod N, s M mod M ] Cláudio Esperança e Paulo Roma Cavalcanti www.lcg.ufrj.br/Cursos/COS-751/texturas-ppt Alberto Raposo – PUC-Rio

Função de Mapeamento Retorna o ponto do objeto correspondente a cada ponto do espaço de textura (x, y, z) = F (s, t) Corresponde à forma com que a textura é usada para “embrulhar” (wrap) o objeto Na verdade, na maioria dos casos, precisamos de uma função que nos permita “desembrulhar” (unwrap) a textura do objeto, isto é, a inversa da função de mapeamento Se a superfície do objeto pode ser descrita em forma paramétrica esta pode servir como base para a função de mapeamento Cláudio Esperança e Paulo Roma Cavalcanti www.lcg.ufrj.br/Cursos/COS-751/texturas-ppt Alberto Raposo – PUC-Rio

Exemplos de diferentes funções de mapeamento de textura Alberto Raposo – PUC-Rio

Processo de Mapeamento de Texturas Projeção do pixel sobre a superfície Pontos da superfície correspondentes aos vértices do pixel Parametrização Coordenadas paramétricas dos vértices do pixel projetados Mapeamento inverso Coordenadas dos vértices no espaço de textura Média Cor média dos ‘Texels’ proporcional à àrea coberta pelo quadrilátero u v i j s t Alberto Raposo – PUC-Rio Cláudio Esperança e Paulo Roma Cavalcanti www.lcg.ufrj.br/Cursos/COS-751/texturas-ppt

ImageTexture node Aplica imagens sobre geometria (.jpg, .png, .gif) Exemplo Objeto com textura aplicada Objeto sem textura Imagem aplicada como textura Alberto Raposo – PUC-Rio

ImageTexture node Type accessType Name Default Range Profile MFString inputOutput url [ ] [urn] Interchange SFBool initializeOnly repeatS true repeatT SFNode metadata NULL [X3DMetadataObject] Core Alberto Raposo – PUC-Rio

MovieTexture Node Aplica vídeo sobre geometria Formato suportado Mpeg-1 Browsers podem suportar outros formatos, como .mov e .avi Alberto Raposo – PUC-Rio

MovieTexture Node Alberto Raposo – PUC-Rio

TextureTransform node Transformações nas coordenadas de textura para melhor alinhar as imagens da textura à geometria Alberto Raposo – PUC-Rio

TextureTransform Node Alberto Raposo – PUC-Rio

INF 1366 – Computação Gráfica Interativa X3D: Grouping Nodes, Viewing & Navigation, Appearance Alberto B. Raposo abraposo@tecgraf.puc-rio.br http://www.tecgraf.puc-rio.br/~abraposo/INF1366 Alberto Raposo – PUC-Rio