50
UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA Defesa de Dissertação de Mestrado PUC-RIO Departamento de Informática TeCGraf DEZEMBRO 1999

UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Embed Size (px)

Citation preview

Page 1: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

UMA ARQUITETURA PARA A VISUALIZAÇÃODISTRIBUÍDA DE AMBIENTES VIRTUAIS

ALEXANDRE G. FERREIRA

Defesa de Dissertação de Mestrado

PUC-RIODepartamento de Informática

TeCGraf

DEZEMBRO 1999

Page 2: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Objetivos

“Apresentar uma arquitetura que permita o desenvolvimentode sistemas para a visualização, de forma a alargar o

canal de recursos de interação no sentidomáquina homem.”

Page 3: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Visualização por múltiplos dispositivos

q Visão panorâmica do ambiente virtualq Sensação de imersão para um ou mais usuários

Page 4: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Imersão

q A percepção do usuário é removida domundo real e voltada para o mundo virtual.

q Requisitosð integrar o uso da tecnologia com fatores humanos

ð minimizar distrações

ð maximizar os atributos que realcem a atenção do usuário

ð adequar o conteúdo ao interesse do usuário

Page 5: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Aplicações

q Educação e Treinamento

q Militares

q Visualização científica

q Entretenimento

q Processo produtivo e industrial

q Medicina

Page 6: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Trabalhos relacionados

q NPSNET - Naval Postgraduate School

q DIVE (Distributed Interactive Virtual Environment) -Swedish Institute of Computer Science

q PARADISE (Performance Architecture for AdvancedDistributed Interactive Simulation Environments) -Stanford University

q AVIARY - University of Nottingham

q MR Toolkit - University of Alberta

Page 7: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Ambiente virtual

É um teatro na qual determinados aspectosdo mundo real são simulados

²Descrição

²Visualização

²Visualização centralizada vs distribuída

Page 8: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Ambiente virtual: Descrição

q Cenário

ðEntidadesð Iluminação

ðFog, …

Entidades

²Descrição Geométrica

²Aparência

²Comportamento

²Hierarquia

Page 9: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Qualquer maneira para descrever a forma de umaentidade.

ð Estáticað Dinâmica

Ambiente virtual: Descrição geométrica

Arquivo: T80.3DS

Podem ser adotadastécnicas de múltiplos

níveis de detalhes

Page 10: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

É constituída dos atributos que, em conjunto com adescrição geométrica, são processados para se obteruma imagem da entidade.

ð Cor opacað Materialð Texturasð …

Também pode ser

ð Estática

ð Dinâmica

Ambiente virtual: Aparência

Arquivo: T80left.tif(textura)

Arquivo:T80top.tif (textura)

Podem ser adotadastécnicas de múltiplos níveisde detalhes para texturas

(mipmapping)

Page 11: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Conjunto de mudanças que qualquer atributo dasentidades pode sofrer no decorrer do tempo

q Duas categorias

ð DeterminísticosSeu estado pode ser tratado como uma função do tempoEx. Física cinemática, oscilatória, etc.

ð Não-determinísticosSeu estado é imprevisívelEx. Ações humanas

Ambiente virtual: Comportamento

Ex. Rumo: 45º NW Velocidade: 525 Km/h Coordenadas: (25.3,22.5,503.5) Instante: 10s

Page 12: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

q Nível 0 - A cada quadro o valor de todos os atributos são definidosEx.: A entidade VEÍCULO se encontra na posição {x, y, z}

q Nível 1 - Estabelece a forma como os atributos são modificados no tempoEx.: A entidade VEÍCULO está na posição {x, y, z} com velocidade de 10m/s na direção 250o NW

q Nível 2 - Instrui a realização de uma tarefa, geralmente constituída por um conjunto de instruções de nível 1Ex.: Siga com a entidade VEÍCULO para a base mais próxima

q Nível 3 - Instrui a entidade para tomar uma decisão de alto nível, geralmente constituída por comportamentos de nível 2Ex.: Decida entre atacar o inimigo ou recuar para a base mais próxima.

Ambiente virtual: Comportamento (ROEHL)

Page 13: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

q Permite a construção de entidades elaboradascom comportamentos complexos

Ambiente virtual: Hierarquia

Page 14: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Ambiente virtual: Visualização

Mapeamento do ambiente real noambiente virtual

w

nh

dispositivo devisualização

w

h

near far

canvas

Ambiente Real Ambiente Virtual

Usuário Observador

CanvasDispositivo de visualização

Page 15: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Visualização: Abordagens

q Centralizada

q Distribuída

Simulação

Simulação eRendering

Rendering

Rendering

Rendering

Page 16: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Centralizada

q Suporte em Hardware 4

ðSincronismoðBom desempenho

q Custo elevado 6

q Escalabilidade limitada 6

Page 17: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Distribuída

q Sincronismo por software 6

q Portabilidade 4

q Baixo custo 4

qMaior escalabilidade 4

Page 18: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Visualização distribuída

Requisitos e desafios

ðManutenção da consistência

ðSincronismo

ðHeterogeneidade

ðEscalabilidade

ðPortabilidade

Page 19: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Visualização distribuída

Manutenção da consistência

Consiste na manutenção do estado dinâmico compartilhado dasentidades

ð Propagação permanente (a cada quadro)

ð Predição e convergência (quando ocorrem alterações no comportamento)

ð Combinação dos dois métodos

Page 20: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Visualização distribuída

Predição e convergênciaBaseada na técnica de dead reckoning (usada no protocolo DIS - IEEE standard)

ð Instruções contêm um campo com o instante em que a alteração ocorreu

ð Cada unidade de visualização projeta o comportamento

Estado dinâmico real

t=1

t=2

t=3

t=4

Modificação nocomportamento

Atualização ainda não chegou da rede.

Atualização chega com atraso (latência)

Estado dinâmico visualizado

O sistema se atualizapara a nova posiçãoe trajetória

t=3+dt

Page 21: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Convergência

t=4Segue na novatrajetória

t=3+dt

Salta imediatamente paraa posição atualizada

Estado dinâmico real Estado dinâmico visualizado

t=4

t=3+dt

ponto deconvergência

Segue uma trajetórialinear

ponto deconvergência

Ao encontrar umponto deconvergência, seguea nova trajetória

Estado dinâmico real Estado dinâmico visualizado

t=4

t=3+dt

ponto deconvergência

ponto deconvergência

Segue uma trajetóriacurvilinea suave

Ao encontrar umponto deconvergência, seguea nova trajetória

Estado dinâmico real Estado dinâmico visualizado

Page 22: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Visualização distribuída

SincronismoRequisito fundamental

Para manter uma frame-rate de 30 fps é necessário que a variação na precisão do

sincronismo seja inferior a 33ms

Heterogeneidadeð Nivelar desempenho ao mínimo denominador comum

ð Utilizar o máximo de recursos de cada unidade

Fps = 5 Fps = 30t

Page 23: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Visualização distribuída

EscalabilidadeRecursos limitados

ð poder de processamento de cada unidade

ð velocidade da rede

ð comportamentos não-determinísticos

PortabilidadeRecomendável

ð Diferentes plataformas de software e hardware

ð Facilidade de instalação, configuração e utilização

ð Amplo suporte a drivers de dispositivos

ð Variedade de formatos de entrada de dados

Page 24: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Arquitetura proposta

Page 25: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Mundo Externo

q Responsável por manter o estado dinâmicocorrente do ambiente virtual

q Pode assumir diversos papéisð entrada e saída de dadosð roteiro de animaçãoð sistema de monitoramentoð simulaçãoð ...

Page 26: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Infra-estrutura de comunicação

q CORBA (ORBacus)

ð Confiabilidadeð Portabilidadeð Independência de linguagem de programaçãoð Padrão difundidoð Interface abstrata de alto nívelð Acesso uniforme a objetos locais e remotos

Proxy

Módulo Cliente

CORBA

Objeto Servidor

CORBARede

Aplicação 1 - Máquina 1 Aplicação 2 - Máquina 2

Page 27: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Infra-estrutura de comunicação

q LuaOrbð Une facilidades de CORBA com flexibilidade de Luað Facilita o desenvolvimento e manutençãoð Não degrada o desempenho

Objeto n

Objeto n

CORBA

Protocolo de Rede

Protocolo CORBA (IIOP)

LUAORB

CORBA

LUAORB

Rede

Aplicação 1 - Máquina 1

Protocolo de Rede

Protocolo CORBA (IIOP)

..

.

Objeto 1

Objeto 2 ..

.

Objeto 1

Objeto 2

Aplicação 2 - Máquina 2

INFRA-ESTRUTURA DE COMUNICAÇÃO

..

.

..

.

Prox

y

Prox

y

Prox

y

Prox

y

Prox

y

Prox

y

..

.

..

.

Prox

y

Prox

y

Prox

y

Prox

y

Prox

y

Prox

y

Page 28: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Infra-estrutura de comunicação

q Sincronismo dos relógios

ð NTP (Network Time Protocol)Indicado para WANs

ð SNTP (Simple Network Time Protocol)Indicado para LANs

Alcançam sincronismo com variações na precisão da ordem de alguns milisegundos

Pode requerer re-sincronismos constantes em função daimprecisão de cada relógio de cada unidade do sistema

Page 29: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Mediador

q Realiza a integração entre o Mundo Externo e o Núcleo doSistemað Estabelece o relógio de simulação em todas as unidades de visualização

ð Mantem o registro das unidades de visualização e entidades

ð Traduz as mensagens provenientes do mundo externo

q Possibilita maior reuso do sistema

Módulo de Acoplamento

MEDIADOR DO SISTEMA

Interface com oMundo Externo

Interface com onúcleo do sitema

Módulo de Coordenação

Controle do relógio virtual

Controle do registro de entidades eunidades de visualização

Fluxo de dadosoriundos do Mundo

Externo

Adaptação dos dados

Fluxo de dados decontrole de todasas Unidades deVisualização doque compõem onúcleo do sistema

Elementos que potencialmente sãomodificados quando o Mundo

Externo for alterado

Page 30: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Unidades de Visualização (UV)

q Máquinas que rodam independentemente

ð Controlam um dispositivo de visualização

ð Fazem o rendering a partir de determinado ponto de vista

ð Baseam-se somente no sicronismo entre os relógios dasdiversas unidades

ð Não existe nenhuma comunicação entre elas

ð Mantêm uma cópia local do estado dinâmicocompartilhado

Page 31: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Unidades de Visualização (UV)

Inicializaçãoð Ligação com o Mediadorð Sincronização do relógioð Configuração da superfície de visualizaçãoð Carga da modelagem inicial do ambiente virtual

Modelagem doambiente virtual

Mediador doSistema

InicializaçãoAltualização do

estado dinâmico narede

Cálculo do estadodinâmico corrente

Processamentográfico de umnovo quadro

Page 32: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Unidades de Visualização (UV)

Atualização do estado dinâmico

ð Feita através dos proxies existentes no Mediador, quepermitem o acesso aos métodos dos objetos locais

Modelagem doambiente virtual

Mediador doSistema

InicializaçãoAltualização do

estado dinâmico narede

Cálculo do estadodinâmico corrente

Processamentográfico de umnovo quadro

Page 33: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Unidades de Visualização (UV)

Cálculo do estado dinâmico corrente

ð Feito utilizando a técnica de dead reckoning

Modelagem doambiente virtual

Mediador doSistema

InicializaçãoAltualização do

estado dinâmico narede

Cálculo do estadodinâmico corrente

Processamentográfico de umnovo quadro

Page 34: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Unidades de Visualização (UV)

Renderingð Posicionamento da câmera (observador)ð Uso de técnicas para aumento do desempenhoð Desenho das entidades utilizando uma API gráfica

Modelagem doambiente virtual

Mediador doSistema

InicializaçãoAltualização do

estado dinâmico narede

Cálculo do estadodinâmico corrente

Processamentográfico de umnovo quadro

Page 35: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Desempenho

O nível de detalhedeve diminuir a

medida que a entidadese afasta do plano de

projeção

O plano de fundo eo canvas

delimitam ovolume de visão

plano de fundo

canvas

Deve ser eliminada

ð Eliminação das entidades fora do volume de visãoð Cálculo do nível de detalhe apropriado

Page 36: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Modelagem do Ambiente Virtual

ComponenteExclusiva

ComponentesCompartilhadas

Componentes Comuns

canvas

Cave

iluminação

Fog

Entidades

Comportamento Descriçãogeométrica

Aparência

Cenário

Observador

ð Componentes exclusivas

ð Componentes compartilhadas

ð Componentes comuns

Page 37: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Implementação do Sistema

Page 38: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Unidades de Visualização (UV)

q Decisões tecnológicas

ð C++

ð Lua

ð OpenGL

ð MLOD

ð IUP

ð CORBA (ORBacus)

ð LuaOrb

Page 39: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

AmbienteVirtual

Cenário Observador

CanvasFonte de Luz Entidade GrupoFog

Ambiente

Posicional

Direcional

Spot

Comportamento DescriçãoGeométrica

Aparência

Estática

Cinemática

Oscilatória

Vazia

Mesh Triangular

Vazia

Cor opaca

Material

Textura

Textura Múltiplado tipoNotação: contém 1 contém 1 ou mais está ligado a

......

...

...

Modelagem do Ambiente Virtual

Page 40: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Modelagem do Ambiente Virtual

q Linguagem Lua

ð Sintaxe simples e clara

ð Facilidade de descrição de dados

ð Estruturas de controle tradicionais² Expressões

² Laços

² Declarações condicionais

² Chamadas de função

Page 41: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Modelagem do Ambiente Virtual

Ambiente virtual:

Visualizer{ name = "Visualizer",

scene = scen,

observer = ent1, }

Observador:Observer{ name = "Cave1",

axis_position = Vector {0.0,0.0,0.0},

axis_rotation = Quadruple {0,0,1,0}, }

Canvas:Canvas{ name = "Esquerdo",

distance = 0.07709,

width = 0.0323,

height = 0.023534,

rotation = Quadruple {25.7699, 0, 1, 0},

windowsize_x = 1146,

windowsize_y = 835,

local_rotation_x = 0,

local_rotation_y = -25.7699, }

Cenário / Fog:

scen = Scene{ name = "Scene";

fog = TRUE,

back_color = Vector{0.5, 0.7, 0.3},

fog_color = Vector{0.5, 0.7, 0.3},

fog_start = 150,

fog_end = 1000;

light0, light1,

ent1, ent2, ent3, }

Entidade:

ent1 = Entity{ name = "Hind 1",

shape = shp3,

appearance = app2,

mechanics = sta1, }

Comportamento:sta5 = Static_Mechanic{ name = "Static 5",

position = Vector{-350.0, -5.0, -100.0},

rotation = Quadruple{0,0,1,0}, }

kin1 = Kinematic_Mechanic { name = "Kinematic 1",

position = Vector{7.0, 1.7, 700.0},

rotation = Quadruple{20.0, 0.0, 1.0, 0.0},

linear_speed = Vector{-0.045, 0.0, -0.15},

angular_speed = Vector{0.0, 10.0, 0.0},

actual_time = 0, }

osc2 = Oscillation_Mechanic{ name = "Oscillation 2",

position = Vector{0.0, 6.0, 650.0},

rotation = Quadruple {180,0,1,0},

actual_time = 0,

translation_period = 12,

translation_size = 30,

translation_direction = Vector{1,0,0},

rotation_period = 5,

rotation_size = 100,

rotation_direction = Vector{0,0,1}, }

Page 42: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Modelagem do Ambiente Virtual

Descrição geométrica:

shp1 = MeshPly_Shape{ name = "Hint",

filename = ".\\data\\shapes\\hind.ply",

axis_position = Vector{0,0,0},

axis_rotation = Quadruple{180.0,0.0,-1.0,-1.0},

scale = Vector{0.1,0.1,0.1},

auto_center = TRUE,

lod_criteria = EDGE_LENGTH + LOCAL_CURVATURE +

PRESERVE_BOUNDARY,

bounding_box = FALSE, }

Aparência:app1 = Empty_Appearance{ name = "Transp" }

app2 = Color_Appearance{ name = "Blue",

color = Vector{34/255, 41/255, 65/255}, }

app3 = Material_Appearance{ name = "Steel",

diffuse = Vector{0.5, 0.5, 0.5},

specular = Vector{1.0, 1.0, 1.0},

shininess = 1, }

pp4 = AutoTexture_Appearance{ name = "Sea",

filename = ".\\data\\textures\\mar4.tif",

mipmap = TRUE, }

app5 = Multi_AutoTexture_Appearance{ name= "Sea",

directory =”.\\data\\textures\\sea\\",

mipmap = TRUE, cycle_interval = 0.2,

actual_time = 0, }

Fontes de luz:light0 = Ambient_Light{ name = "Ambient 1",

intensity = Vector{0.1, 0.1, 0.1}, }

light1 = Positional_Light{ name = "Positional 1",

intensity = Vector{0.2, 0.2, 0.2},

position = Vector{0.0, -2.0, 100.0},

entity = ent1, }

light3 = Directional_Light{ name = "Directional 1",

intensity = Vector{0.05, 0.05, 0.05},

direction = Vector{0.0, 1.0, 0.0}, }

Forma proceduralapp1 = autotexture:new(“Textura 1”,

".\\data\\textures\\mar4.tif", TRUE)

shp1 = meshply:new(“Estatica 1”,".\\data\\shapes\\hind.ply",Vector{0,0,0}, Quadruple{180.0, 0.0, -1.0, -1.0},0.1, EDGE_LENGTH + LOCAL_CURVATURE, FALSE)

kin1 = kinematics:new(“Cinematica 1”, Vector{0,0,0},Quadruple{90.0, 0.0, 0.0, 1.0})

kin1:sett(Vector{-0.045, 0.0, -0.15}, 0.0)

kin1:setr(Vector{0.0, 10.0, 0.0}, 0.0)

ent1 = entity:new(“Hind”)

ent1:set(app1)

ent1:set(sta1)

ent1:set(shp1)

Page 43: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Resultados e Testes

Page 44: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Modelagem do Canvas

q Testar se a formulação propostapara o posicionamento do canvasao redor do observador funciona.

z-

x

Page 45: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Sincronismo

q Parâmetro visual

q Realizado através de uma gravação emvídeo

q O ambiente virtual contém um quadradotexturizado

q As texturas que são trocadas a cada 0.2segundos

q Os 48 quadros representam 1.5 segundos degravação.

Page 46: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Desempenho

q Verificar o ganho de desempenho obtido com o uso da técnica de eliminação deentidades e da técnica de mútiplos níveis de detalhe

q Dois pontos de vista diferentes

q Fatores verificados:ð o número de polígonos desenhadosð frame-rate

a) b)

CASO 1

CASO 2

a) b)

Caso Número de Polígonos Frame-rate1a 12197 8.18 fps1b 31.290 3.15 fps

Caso Número de Polígonos Frame-rate2a 3744 26.92 fps2b 31.290 2.73 fps

Resultados

Page 47: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Video

q Teste de modelagem do canvas

q Teste de sicronismoq Visualização de um objeto

q Visualização de terrenoð Posicionamento discreto do observadorð Posicionamento suave do observador

q Cenários diversosð Posicionamento discreto do observadorð Entidades com comportamentos elaborados

q Visualização de terreno real

Page 48: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Conclusão

q Sincronismoq Dead Reckoningq Heterogeneidadeq Estações de trabalho low-endq Portabilidadeq Reusabilidadeq Modelagem de Ambientes Virtuaisq Mapeamento do Ambiente Físico no sistemaq Infra-estrutura de comunicaçãoq Desempenhoq Vários usos potenciais

Page 49: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA

Trabalhos Futuros

q Testes mais aprofundados com relação a escalabilidade

q Recursos para entrada direta de dados do usuário

q Novos componentes (estímulos auditivos)

q Mecanismo de captura automática da posição do usuário

q Sobreposição da imagem projetada

q DataWall

q Imagens compreensíveis de diferentes pontos de vista

q Visualização em Stereo

Page 50: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA