50
Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo [email protected] http://www.tecgraf.puc-rio.br/~abraposo/INF1366

Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo [email protected]

Embed Size (px)

Citation preview

Page 1: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

INF 1366 – Computação Gráfica Interativa

X3D – Iluminação, Environment Sensors e Protótipos

Alberto B. Raposo

[email protected]

http://www.tecgraf.puc-rio.br/~abraposo/INF1366

Page 2: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Iluminação

• Conceito básico: fontes de luz virtual atuam como fontes de raios que atingem objetos e chegam ao viewpoint– X3D não define forma

de renderização (raytracing, etc.) – é definição de maisalto nível

Page 3: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Renderização

• Processo que combina as contribuições de todas as fontes de luz, formas e efeitos, computando o que será visto pixel a pixel.

• Muitas fontes de luz “encarece” a renderização– Browsers X3D tendem a limitar o número de

fontes de luz em 8.– Não há sombras geradas por objetos

Page 4: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

3 tipos de fontes de luz em X3D

• Direcional

• Puntual

• Spot

Page 5: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

DirectionalLight

• Todos os raios em uma direção. Intensidade constante (como se fosse o Sol)

Page 6: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

DirectionalLight

Page 7: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

PointLight

Page 8: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

PointLight

Page 9: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

SpotLight

Page 10: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

SpotLight

Page 11: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Background Node

• Provê cubo que “rodeia” a cena, definindo 6 URLs com as imagens que representarão o fundo

• TextureBackground Node– Idêntico ao Background, só que usa 6

ImageTexture Nodes ao invés de URLs

Page 12: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Background Node

Page 13: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Fog

• Simula a Fog:– Branco ou cinza: neblina– Preto: “night-time” effect

Page 14: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Fog

Type accessType Name Default Range Profile

SFColor inputOutput Color 1 1 1 Immersive

SFString inputOutput fogType “LINEAR” [ “LINEAR” | ”EXPONENTIAL”]

Immersive

SFFloat inputOutput visibilityRange 0 [0, ) Immersive

SFBool inputOnly set_bind Immersive

SFBool outputOnly isBound Immersive

SFTime outputOnly bindTime Immersive

SFNode inputOutput metadata NULL [X3DMetadataObject] Core

visibilityRange: distância da câmera onde objetos estarão totalmente obscurecidospelo Fog

fogType: como o fog se comporta em função da distância do objeto

Page 15: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Environment Sensors

• LoadSensor– Lida com recursos externos, indicando quando

imagens de texturas, sons e outros arquivos X3D são carregados antes de começar uma animação.

• ProximitySensor

• VisibilitySensor

Page 16: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

ProximitySensor

• Detecta mudanças de posição e orientação do observador em relação a uma caixa que delimita o volume ativo do sensor

Page 17: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VisibilitySensor

• Similar ao ProximitySensor, mas detecta quando o volume associado ao objeto está no campo de visão do usuário.

Page 18: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Sound

• Define fonte, localização, intensidade, direção e características espaciais de uma fonte de som na cena.

• Tem um nóAudioClip comofilho

Page 19: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

AudioClip

• Refere-se a um arquivo de áudio externo

Page 20: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Prototyping

• Criação de novos nós que podem ser reutilizados repetidamente em X3D, como qualquer outro nó.

• ProtoDeclare precede ProtoInstance usada na cena• ExternProtoDeclare

– Permite manter “cópia mestre” do protótipo em algum lugar e reutilizá-lo em outros arquivos X3D

• Protótipo recebe o tipo do primeiro nó declarado em seu corpo– O protótipo só pode ser colocado no grafo de cena em

locais onde esse primeiro nó poderia ser colocado.

Page 21: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

ProtoDeclare

• Interface– Define campos dos nós, que serão os pontos de

entrada e saída de dados do protótipo

• Corpo– Nós que são instanciados na criação do

protótipo.• São permitidos nós padrões e outros protótipos

dentro dos protótipos

Page 22: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

ProtoInterface

Page 23: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Tiposde Campo

Page 24: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Tiposde Campo

Page 25: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Tiposde Campo

Page 26: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

ProtoInterface

Page 27: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

ProtoBody

• Nós que definem a funcionalidade do protótipo, formando um subgrafo que será “plugado” ao grafo de cena sempre que o protótipo for instanciado

Page 28: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Exemplo

• 10_TextStringPrototype.x3d

Page 29: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML - Tipos de Nós

• Agrupamento

• Geométricos

• Aparência

• Câmera

• Iluminação

• Sensores

• Interpoladores

• Script

Page 30: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Scene Authoring Interface

Roteamento de eventos entre os nós não é suficiente para o tratamento de várias classes de comportamento

VRML define o nó Script e a EAI, que permitem ao usuário conectar o mundo a programas externos

Page 31: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Nó Script (1)

EventoProgramaexterno

(processamentodo evento)

Evento(alterando estado do mundo VRML)

NóScript

Page 32: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Nó Script (2) • Nós Script

– Trazem lógica de decisão e gerenciamento de estados para mundos VRML

– Capazes de receber, processar e gerar eventos que controlam o comportamento dos objetos do mundo

– Programa associado ao nó pode controlar toda a interação e o comportamento dos elementos do mundo virtual

Page 33: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Nó Script (3) • Através do nó Script é possível usar técnicas mais

sofisticadas que a interpolação linear para a geração de animações

• Exemplo:

usuário clicasobre um objeto

TouchSensor TimeSensor

starta cada

pulso derelógio

Script

novaposiçãot

Nógeométrico

move

f(t) (qualquer)

Programa externo

Page 34: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

• Fazer download do tutorial disponível em:http://web3d.vapourtech.com/tutorials/vrml97/

Page 35: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Nó Script – Exemplo 1 (1)

#VRML V2.0 utf8Group { children [ DEF Sph Transform { children Shape { geometry Cone {} appearance Appearance { material Material { diffuseColor 1 0 0 } } } } Transform { translation -2.4 .2 1 rotation 0 1 1 .9 children [ Shape { geometry Box {} appearance Appearance { material DEF MATERIAL Material {} } } DEF TS TouchSensor {} ] } DEF SC Script { url "extouchcube.class" field SFColor currentColor 0 0 0 eventIn SFColor colorIn eventOut SFBool isRed } ] }

DEF myColor ColorInterpolator { key [0.0, 0.3, 0.6, 1.0 ] keyValue [1 0 0 , 0 1 0, 1 0 0, 0 0 1] }

DEF myClock TimeSensor { cycleInterval 10 } DEF XTIMER TimeSensor { loop TRUE cycleInterval 5 }

DEF ENGINE OrientationInterpolator { key [ 0, .5, 1] keyValue [ 0 1 0 0, 0 1 0 3.14, 0 1 0 6.28] }

ROUTE TS.touchTime TO myClock.set_startTime ROUTE myClock.fraction TO myColor.set_fraction ROUTE myColor.value_changed TO MATERIAL.diffuseColor ROUTE myColor.value_changed TO SC.colorIn ROUTE SC.isRed TO XTIMER.enabled ROUTE XTIMER.fraction TO ENGINE.set_fraction ROUTE ENGINE.value_changed TO Sph.set_rotation

Page 36: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Nó Script – Exemplo 1 (2)

Roteamento de eventos do exemplo anterior

Page 37: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Nó Script – Exemplo 1 (3) import vrml.*; import vrml.field.*; import vrml.node.*;

public class extouchcube extends Script {

// declaração dos campos e eventOuts usadosprivate SFColor currentColor; private SFBool isRed;

public void initialize() { currentColor = (SFColor) getField("currentColor"); isRed = (SFBool) getEventOut("isRed"); }

public void processEvent(Event e) { // chamado no recebimento do evento colorIn currentColor.setValue((ConstSFColor)e.getValue()); }

public void eventsProcessed() { if (currentColor.getRed() >= 0.5) // vermelho maior que 50% isRed.setValue(false); else isRed.setValue(true); } }

Programa Java associado ao nó Script do exemplo anterior

Page 38: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Nó Script – Exemplo 1 (4) Visualização do exemplo anterior

Page 39: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Nó Script – Exemplo 2 (1) #VRML V2.0 utf8

Viewpoint { position 0 5 18 orientation 1 0 0 -0.24 fieldOfView 0.785398 }

SpotLight { location 0 10 0 direction 0 -1 0 radius 100 }

#Objeto móvel (esfera amarela)DEF MOV_OBJ Transform { translation -8 0 0 children [ Shape { geometry Sphere { radius 0.7 } appearance Appearance { material Material { diffuseColor 1 1 0 } } } ] }

# Sensores (Botões)Transform { translation 6.25 0 0 children [ DEF TOUCH1 TouchSensor {} Shape { geometry Box { size .5 1 1 } appearance Appearance { material Material { diffuseColor 1 0 0 } } } ] }Transform { translation 6.75 0 0 children [ DEF TOUCH2 TouchSensor {} Shape { geometry Box { size .5 1 1 } appearance Appearance { material Material { diffuseColor 0 1 0 } } } ] }

Page 40: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Nó Script – Exemplo 2 (2) # Cubos que não se movem Transform { translation -5 0 0 children [ DEF CUBE_CHILDREN Shape { geometry DEF CUBE_LARGE

Box { size 1 1 1} appearance Appearance { material Material { diffuseColor 1 0 1 } } } ] }Transform { translation 0 5 0 children [ USE CUBE_CHILDREN ] } Transform { translation 0 -4.5 0 children [ USE CUBE_CHILDREN ] }

# RelógioDEF TIMER TimeSensor { loop TRUE cycleInterval 7 }

# Trajetórias para a esferaDEF I_1 PositionInterpolator { key [ 0, 0.0833, 0.167, 0.25, 0.333, 0.417, 0.5, 0.583, 0.667, 0.75, 0.833, 0.917, 1] keyValue [ -8 0 0, -7 -4 0, -4 -6 0, 0 -7 0, 2.75 -5 0, 4 -3 0, 5 0 0, 4 3 0, 2.75 5 0, 0 7 0, -4 6 0, -7 4 0, -8 0 0] }DEF I_2 PositionInterpolator { ...} # Script responsável pelo comportamento da esferaDEF S Script { eventIn SFFloat start field SFNode inside USE TOUCH1 field SFNode outside USE TOUCH2 eventOut SFVec3f newPosition field SFNode PosInterp1 USE INTERP1 field SFNode PosInterp2 USE INTERP2 url "exballs.class" }

# Roteamento de eventosROUTE TIMER.fraction_changed TO I_1.set_fractionROUTE TIMER.fraction_changed TO I_2.set_fractionROUTE TIMER.fraction_changed TO S.startROUTE S.newPosition TO MOV_OBJ.translation

Page 41: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Nó Script – Exemplo 2 (3)

Programa Java associado ao nó Script do exemplo anterior

import vrml.*; (...)

public class exballs extends Script { private SFNode inside; (...) private boolean outsid = true;

public void initialize() { // mapping variables into VRML-script fields/events inside = (SFNode) getField("inside"); outside = (SFNode) getField("outside"); newPosition = (SFVec3f) getEventOut("newPosition"); (...) }

publicd processEvent (Event e) { ConstSFBool sensor1; ConstSFBool sensor2;

// Getting sensor events Node aux1 = (Node)(inside.getValue()); sensor1 = (ConstSFBool) aux1.getEventOut("isOver");

aux1 = (Node)(outside.getValue());sensor2 = (ConstSFBool) aux1.getEventOut("isOver");

// boolean outsid stores the last sensor touchif(sensor2.getValue()) outsid = true;else if(sensor1.getValue()) outsid = false;

// Choosing which trajectory to follow, // according to the boolean outsid. ConstSFFloat f = (ConstSFFloat) e.getValue(); if( outsid && ff > f.getValue() ) aux = (Node) PosInterp2.getValue(); else if ( !outsid && ff > f.getValue() ) aux = (Node) PosInterp1.getValue(); ff = f.getValue();

// Mapping new position into an EventOutConstSFVec3f tmp = (ConstSFVec3f) aux.getEventOut("value_changed"); newPosition.setValue(tmp); } }

Page 42: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML – Nó Script – Exemplo 2 (4)

Visualização do exemplo anterior

Page 43: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML: JavaScript

Ver código em 10_javascript.wrl

Page 44: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML - EAI (External Authoring Interface)

mundo VRML

appletJava

EAI

EAI é uma inteface para pemitir que ambientes externos acessem nós de uma cena VRML

Page 45: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML - EAI

mundo VRML

appletJava

EAI

Evento Programaexterno

(processamentodo evento)

Evento(alterando estado do mundo VRML)

NóScript

EAI Nó Script

Page 46: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

VRML - EAI• EAI

– Maior modularidade e simplicidade dos programas

– Maior liberdade para criação de interfaces sofisticadas para inteação com mundos VRML

– Adequada para a criação de sistemas multimídia complexos

• Nó Script– Adequado para dar comportamento individual a objetos da

cena

Page 47: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

EAI• Para usar a EAI é necessário criar página

HTML incluindo a cena VRML e um applet que realiza a interação com a cena.

• O seguinte trecho deve estar na página HTML

Page 48: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

EAI

• Programa Java precisa pegar referência ao objeto Browser

Vêm com o browser (ex., Cortona)

Page 49: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Bibliografia Adicional

• The Annotated VRML 97 Reference: http://accad.osu.edu/~pgerstma/class/vnv/resources/info/AnnotatedVrmlRef/Book.html

• Web3D Consortium: http://www.web3d.org/• Cortona:

http://www.parallelgraphics.com/products/cortona/

• “VRML 2.0 - An Introductory view by examples” http://www.dca.fee.unicamp.br/~leopini/tut-vrml/vrml-tut.html

Page 50: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa X3D – Iluminação, Environment Sensors e Protótipos Alberto B. Raposo abraposo@tecgraf.puc-rio.br

Alberto Raposo – PUC-Rio

Bibliografia Adicional

• Script– http://web3d.vapourtech.com/tutorials/vrml97

• EAI– http://www.parallelgraphics.com/developer/

products/cortona/eai

– http://dmi.uib.es/~abasolo/cursovrml/diapos/097.html

• Lista de tutoriais: http://philliphansel.com/tutorials/tutorials.htm