Top Banner
Introdução Prática ao X3D Eduardo de Lucena Falcão
23

Introdução prática ao X3D

Dec 18, 2014

Download

Technology

Slides about the X3D technologies, to discuss different ideas on how to develop a 3D simulator for learning architecture of processors.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introdução prática ao X3D

Introdução Prática ao X3D

Eduardo de Lucena Falcão

Page 2: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Sumário

• WTF is X3D?• Browsers X3D• Exemplos de aplicações que utilizam o X3D• Meio de disponibilização• Nós e Campos X3D• Especificações• Exemplos práticos

Page 3: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

WTF is X3D?

• As perguntas mais frequentes:

AmbienteVirtual.x3d…<Scene>

…<Box/><Cylinder/><PointLight/>…

</Scene>

Browsers X3D

O X3D é uma linguagem de programação?É preciso compilar o

arquivo X3D?

É um programa?

É uma API?

Page 4: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

• Programas que interpretam o arquivo X3D para a renderização da cena

• Podem se apresentar como plugins, como aplicações independentes (desktop) e applets.

Browsers X3D

Page 5: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Exemplos de Aplicações – X3D

Page 6: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Browser como Applet

• http://dl.dropbox.com/u/5095342/Xj3DApplet/rc1/X3DForWebAuthorsExamples.html

Page 7: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Customização da Interface Gráfica

• Pode-se desenvolver uma interface gráfica que se adapte a aplicação e incorporar o visualizador (browser) Xj3D à mesma.– Swing

Page 8: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Exemplos Práticos

• Browser Xj3D instalado http://www.xj3d.org/snapshots.html)

• Opcionalmente: X3D Edit 3.2 (https://savage.nps.edu/X3D-Edit/X3D-Edit3.2.zip)

• Opcionalmente: Blender (http://www.blender.org/download/get-blender/)

Page 9: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Nós X3D

• Nós X3D são os elementos fundamentais que compõem a cena. Cada nó é formado por uma seqüência de campos.

• Alguns exemplos de nós são:– PointLight: nó de iluminação que descreve uma luz

pontual;– Box: nó de geometria que descreve um cubo;– NavigationInfo: nó de navegação que descreve os

meios e características de navegação.

Page 10: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Campos X3D

• Os campos servem para especificar os atributos dos nós X3D.

• Os campos que possuem ‘d’/‘D’ e ‘f’/‘F’ ao final do nome significam respectivamente a precisão double e float. Single e Multiple Field (SF e MF) significam, respectivamente, um ou vários valores do tipo especificado.

Tipos de campos.

Page 11: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

O Arquivo X3D

Page 12: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Hierarquia

• Cada arquivo é composto por um conjunto de elementos (nós) que possuem hierarquia

<Shape> <Cylinder/> <Appearance>

<Material diffuseColor='0 0.5 1'/> </Appearance></Shape>

Page 13: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Como saber quais campos e nós X3D existem?

• Nas especificações do X3D. (http://www.web3d.org/x3d/specifications/)

Page 14: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

• Exemplo 1: Conhecendo o arquivo X3D.– Criando uma cena com formas básicas.

• Exemplo 2: Adicionando alguma interatividade com eventos e rotas.

Exemplos Práticos

Page 15: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Exemplo Prático 2: Eventos e Rotas

• Permite animação dos AV através do mecanismo de Rotas fornecido pelo X3D

• Ex.: ProximitySensor• inputOnly: permite apenas receber (valores) eventos;• outputOnly: permite apenas enviar (valores) eventos;• inputOutput: permite receber e enviar (valores) eventos;• initializeOnly: tal campo não pode receber nem enviar (valores)

eventos, o valor deste campo pode apenas ser inicializado.

Page 16: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

ProximitySensor DEF=“Sensor”Campos: SFBool [out]: isActive = false Rota

PointLight DEF=“Lamp”Campos: SFBool [in,out]: on = false

ESTADO1

ESTADO2

ProximitySensor DEF=“Sensor”Campos: SFBool [out]: isActive = true

PointLight DEF=“Lamp”Campos: SFBool [in,out]: on = true

TRUE

Sensor capta a presença do usuário e lança um evento.

Alarme é acionado.

Rota

Page 17: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Exemplo Prático 2: Eventos e Rotas

Page 18: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Exemplo Prático 2: Eventos e Rotas

Page 19: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Eventos com SAI

Page 20: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Script

• Possibilita fazer processamento em X3D que envolva decisão lógica e gerência de estado

• É ativado pelo recebimento de um evento• O evento ativa o campo URL

Page 21: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Aplicação Externa

• Importante:• instalar as bibliotecas do Xj3D • colocar no classpath do projeto

Page 22: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Page 23: Introdução prática ao X3D

13/10/2010

Arquitetura de Computadores II

Discussões

• Debater as idéias!