Introdução prática ao X3D

2,985 views

Published on

Slides about the X3D technologies, to discuss different ideas on how to develop a 3D simulator for learning architecture of processors.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,985
On SlideShare
0
From Embeds
0
Number of Embeds
881
Actions
Shares
0
Downloads
67
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introdução prática ao X3D

  1. 1. Introdução Prática ao X3D<br />Eduardo de Lucena Falcão<br />
  2. 2. Sumário<br />WTF is X3D?<br />Browsers X3D<br />Exemplos de aplicações que utilizam o X3D<br />Meio de disponibilização<br />Nós e Campos X3D<br />Especificações<br />Exemplos práticos<br />
  3. 3. WTF is X3D?<br /><ul><li>As perguntasmaisfrequentes:</li></ul>O X3D é umalinguagem de programação?<br />É um programa?<br />É uma API?<br />É preciso compilar o arquivo X3D?<br />AmbienteVirtual.x3d<br />Browsers X3D<br />…<br /><Scene><br /> …<br /> <Box/><br /> <Cylinder/><br /> <PointLight/><br /> …<br /></Scene><br />
  4. 4. <ul><li>Programas que interpretam o arquivo X3D para a renderização da cena
  5. 5. Podem se apresentar como plugins, como aplicações independentes (desktop) e applets.</li></ul>Browsers X3D<br />
  6. 6. Exemplos de Aplicações – X3D<br />
  7. 7. Browser como Applet<br />http://dl.dropbox.com/u/5095342/Xj3DApplet/rc1/X3DForWebAuthorsExamples.html<br />
  8. 8. Customização da Interface Gráfica<br />Pode-se desenvolver uma interface gráfica que se adapte a aplicação e incorporar o visualizador (browser) Xj3D à mesma.<br />Swing<br />
  9. 9. Exemplos Práticos<br />Browser Xj3D instalado http://www.xj3d.org/snapshots.html)<br />Opcionalmente: X3D Edit 3.2 (https://savage.nps.edu/X3D-Edit/X3D-Edit3.2.zip)<br />Opcionalmente: Blender(http://www.blender.org/download/get-blender/)<br />
  10. 10. Nós X3D<br />Nós X3D são os elementos fundamentais que compõem a cena. Cada nó é formado por uma seqüência de campos. <br />Alguns exemplos de nós são:<br />PointLight: nó de iluminação que descreve uma luz pontual;<br />Box: nó de geometria que descreve um cubo;<br />NavigationInfo: nó de navegação que descreve os meios e características de navegação.<br />
  11. 11. Campos X3D<br />Os campos servem para especificar os atributos dos nós X3D. <br />Os campos que possuem ‘d’/‘D’ e ‘f’/‘F’ ao final do nome significam respectivamente a precisão double e float. Singlee Multiple Field (SF e MF) significam, respectivamente, um ou vários valores do tipo especificado.<br />Tipos de campos.<br />
  12. 12. O Arquivo X3D<br />
  13. 13. Hierarquia<br />Cada arquivo é composto por um conjunto de elementos (nós) que possuem hierarquia<br /><Shape><br /> <Cylinder/><br /> <Appearance><br /> <Material diffuseColor='0 0.5 1'/> </Appearance><br /></Shape><br />
  14. 14. Como saber quais campos e nós X3D existem?<br />Nas especificações do X3D. (http://www.web3d.org/x3d/specifications/) <br />
  15. 15. Exemplo 1: Conhecendo o arquivo X3D.<br />Criando uma cena com formas básicas.<br />Exemplo 2: Adicionando alguma interatividade com eventos e rotas.<br />Exemplos Práticos<br />
  16. 16. ExemploPrático 2: Eventos e Rotas<br /><ul><li>Permiteanimação dos AV através do mecanismo de Rotasfornecidopelo X3D
  17. 17. Ex.: ProximitySensor
  18. 18. inputOnly: permite apenas receber (valores) eventos;
  19. 19. outputOnly: permite apenas enviar (valores) eventos;
  20. 20. inputOutput: permite receber e enviar (valores) eventos;
  21. 21. initializeOnly: tal campo não pode receber nem enviar (valores) eventos, o valor deste campo pode apenas ser inicializado.</li></li></ul><li>ESTADO1<br />ProximitySensor<br /> DEF=“Sensor”<br />Campos:<br />SFBool [out]: isActive = false<br />PointLight DEF=“Lamp”<br />Campos:<br />SFBool [in,out]: on = false<br />Rota<br />Alarme é acionado.<br />ESTADO2<br />ProximitySensor<br /> DEF=“Sensor”<br />Campos:<br />SFBool [out]: isActive = true<br />PointLight DEF=“Lamp”<br />Campos:<br />SFBool [in,out]: on = true<br />TRUE<br />Rota<br />Sensor capta a presença do usuário e lança um evento.<br />
  22. 22. ExemploPrático 2: Eventos e Rotas<br />
  23. 23. ExemploPrático 2: Eventos e Rotas<br />
  24. 24. Eventos com SAI<br />
  25. 25. Script<br /><ul><li>Possibilita fazer processamento em X3D que envolva decisão lógica e gerência de estado
  26. 26. É ativado pelo recebimento de um evento
  27. 27. O evento ativa o campo URL</li></li></ul><li>Aplicação Externa<br /><ul><li>Importante:
  28. 28. instalar as bibliotecas do Xj3D
  29. 29. colocar no classpath do projeto </li></li></ul><li>
  30. 30. Discussões<br />Debater as idéias!<br />

×