visão geral do opensg psi-5787 realidade virtual alexander cerqueira silva richard ibarra hilton...

68
Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Visão Geral do OpenSG

PSI-5787 Realidade VirtualAlexander Cerqueira SilvaRichard IbarraHilton Fernandes

11/11/2002

Page 2: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Agenda

Introdução Conceito de grafo de cena Panorama dos grafos de cena Estrutura de dados do OpenSG “varreduras” Geometria Tratamento de estados Concorrência Conclusão

Page 3: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Introdução

Objetivo do trabalho Saga até chegar ao final Visão geral do trabalho Fontes de informação

Page 4: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Conceito de grafo de cena

Grafo como associação entre pares de elementos

Estrutura genérica que permite descrever cenas, entre outras coisas

Surge naturalmente: – VRML– X3D – …

Page 5: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Panorama dos grafos de cena (1/10) Mudança de terminologia

– Framework que manipula grafos de cena

Page 6: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Panorama dos grafos de cena (2/10) Exemplos

– OpenSG (www.opensg.org)– Open Inventor (oss.sgi.com/projects/inventor)– Open Scene Graph (www.openscenegraph.org)– Performer (www.sgi.com/products/performer)

Page 7: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Panorama dos grafos de cena (3/10) Com exceção do Performer, todos outros são

Software Livre ou de código aberto/opensource;

Todos baseados no C++, menos o Performer, que usa principalmente C.

Page 8: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Panorama dos grafos de cena (4/10) Integram-se com VR Juggler

– Performer– Open Scene Graph– OpenSG

Portanto, podem constituir parte de uma aplicação completa de Realidade Virtual.

Page 9: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Panorama dos grafos de cena (5/10) Importante:

– Aplicativos de grafo de cena não pretendem ser solução completa de Realidade Virtual;

– Enfocam um ponto da criação de imagens em 3D;

– Não tratam de dispositivos, como trackers.

Page 10: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Panorama dos grafos de cena (6/10) OpenGL tem gerenciamento de dados muito

limitado: – Coleção de funções de baixo nível para acesso

otimizado ao hardware gráfico;– Processamento principalmente funcional – modo

imediato.

Page 11: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Panorama dos grafos de cena (7/10) Ferramentas de grafos de cena oferecem

gerenciamento organizado de dados que falta ao OpenGL.– OpenSG organiza dados de cena e suas visões,

Page 12: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Panorama dos grafos de cena (8/10) OpenSG visa tratar de modelos de grandes

dimensões e CAD.

Page 13: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Panorama dos grafos de cena (9/10) Outras metas de projeto do OpenSG:

– Multithreading e paralelismo: • processadores tendem ao SMT (Simultaneous

Multithreading);• aglomerados de computadores (clusters) pessoais

com poder crescente;

Page 14: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Panorama dos grafos de cena (10/10) Outras metas de projeto do OpenSG (cont.):

– Extensibilidade: • Novos tipos de dados herdando de anteriores;• Uso ótimo, mesmo de hardware novo;• Simplificação do desenvolvimento de aplicações;

– Replicação e sincronização efetuados de modo elegante;

– Uso intenso de padrões de projeto de software (OOD patterns).

Page 15: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (1/10)

Estrutura de Nó– O que é nó– Propriedades– Tipos de Nós

Aspectos– replicação

Reflexividade Padrões de projeto de software

Page 16: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (2/10)

Estrutura de Nó– O que é nó:

Elemento básico do grafo de cena, usado para conter geometria e propriedades dos objetos de cena, e suas transformações e operações.

Page 17: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (3/10)

Estrutura de Nó (cont.)– Propriedades:

• NodeCore: tipo de dados do nó– (agrupamento, representação de materiais…);

• Node: localização e associações: – Posição e volume;– Lista de nós subordinados a ele (filhos/children);– Apontador para nó ao qual este se subordina (pai/parent).

Page 18: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (4/10)

Estrutura de Nó (cont.)– Posição no grafo

• Apenas nós filhos são representados.

Page 19: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (5/10)

Estrutura de Nó (cont.)– Tipos de Nós – conteúdo/core:

• Geometria;• Texto e derivados

– Texto de bitmap;– Texto com textura;– Texto geométrico;

• Ambiente: nó global – um para todo grafo.

Page 20: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (6/10)

Estrutura de Nó (cont.)– Tipos de Nós – conteúdo/core (cont.):

• Grupo e seus derivados:– Alternativa e chaveador/switch;– LOD, ou Level of Detail;– Luz e derivados – Transformações (rotação, translação, escala).

Page 21: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (7/10)

Aspectos:– Cópias dos dados feitas localmente, a cada

thread, a cada processo paralelo.• Threads são linhas de execução subordinadas a

um processo principal e que compartilham com ele sua “memória” (espaço de endereçamento);

Page 22: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (8/10)

Aspectos: (cont.)– Replicação é minimizada:

• Copy On Write: apenas dados a ser escritos são replicados – dados para leitura não;

Page 23: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (9/10)

Aspectos: (cont.)– Sincronização é minimizada:

• Apenas dados de fato alterados são comunicados;– Listas de alterações, ou changelists;– Combinadas hierarquicamente, das folhas para raiz;

Page 24: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (10/15)

Aspectos: (cont.)– Sincronização é minimizada (cont.):

• O que ocorre quando dois threads alteram os mesmos dados?

• Conflito é resolvido arbitrariamente, pelo último nó a informar a alteração.

Page 25: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (11/15)

Aspectos: (cont.)– Baseiam-se em estrutura de ponteiros:

• Multicampo (Mfield) é estrutura que contém apontadores para seus dados,

• Dados são MFieldData -- registro de dados;• Aspectos usam apenas dados que vão alterar

– Isto otimiza uso do cache.

Page 26: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (11/15)

Aspectos: (cont.)

Page 27: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (12/15)

Reflexividade: – Capacidade de um objeto saber que dados ele

possui.– Nativa no Java;– Ausente no C++.– Teve de ser implementada pelo OpenSG.

Page 28: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (13/15)

Reflexividade: (cont.)– Útil para ampliar flexibilidade e expansibilidade; – Facilita mecanismo de aspectos.

Page 29: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (14/15)

Padrões de projeto de software -- Patterns: – Coletânea de soluções já testadas de

estruturas de classe e esboços de algoritmos;– Em tecnologia do objeto, são

• Considerados técnica em produção, não mais de pesquisa;

• Catálogo e uso tem aumentado;• Bastante usados em Java;

Page 30: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Estrutura de dados (15/15)

Padrões de projeto de software -- Patterns (cont.):

– Usados para flexibilidade e encapsulamento: • ClassFactory para criar classes

parametrizadamente;• Prototypes para clonar objetos em tempo de

execução;• Decorator para fazer delegação dinâmica de

classes.

Page 31: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Varreduras (1/9)

Definição Ações

– Renderização– Intersectar

Varreduras adaptadas– Varreduras complexas– Varreduras mais simples

Page 32: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Varreduras (2/9)

Operação básica de um grafo de cena: Inicia no no raiz e segue ate nó procurado Busca em profundidade:

– Passa por todos nós filhos antes de iniciar nó irmão

Pode ser definida pelo sistema de grafos de cena ou por uma aplicação

Page 33: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Varreduras (3/9)

Ações – São classes encapsulando diversas varreduras – Dependendo da espécie do nó, permite executar

diferentes operações em diferentes filhos Renderização Intersectar

Page 34: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Varreduras (4/9)

Ações (cont.) Renderização:

– Renderização == reboque???• Tradução literal;• Transforma wireframe em superfície contínua;• Equivalente a reboque em prédios americanos

– Construídos com vigas

Page 35: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Varreduras (5/9)

Ações (cont.) Renderização (cont.):

– Através do grafo, renderização é otimizada• Minimiza alterações do estado do baixo nível:

– Melhora uso do pipeline (linha de montagem) gráfica;

• Renderização é parte mais importante de sistema scenegraph,

– Onde maior esforço de trabalho é investido.

Page 36: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Varreduras (7/9)

Ações (cont.) Intersectar

– Teste de geometria contra um raio;– Pode ser usado para testes simples de colisão– Simplificado pelos mecanismos de alto nível para

varredura do grafo

Page 37: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Varreduras (8/9)

Ações (cont.) Intersectar (cont.)

– Potencial substituição de ray tracing;– Seria pouco eficiente, pois este usa algoritmos

especializados.

Page 38: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Varreduras (9/9)

Varreduras adaptadas– Varreduras complexas

• Tornam vantajoso herdar de formas existentes de varredura

– Varreduras mais simples:• Uso de “hook”,

– Função do usuário chamada em certos eventos;– Em OpenSG, seu nome é traverse().

Page 39: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Geometria (1/11)

É o mais importante tipo de nó do gráfico de cena

Engloba os dados que serão renderizados Vértices Primitivas Indexação Acesso

Page 40: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Geometria (2/11)

Vértices– Propriedades dos Vértices

• Normal• Coordenadas de Cor• Coordenadas de Textura

Page 41: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Geometria (3/11)

Vértices (cont.)– Vetores STL ou similares com tamanho dinâmico

• OpenSG usa diferentes tipos de dados através de atributo da estrutura chamado “Propriedades”

Page 42: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Geometria (4/11)

Primitivas – Estruturas formadas pela conexão de vértices:

• Triângulos, quadrados, polígonos…– Primitivas misturadas usando propriedades dos

tipos.– Grande flexibilidade:

• combinação de primitivas homogêneas e heterogêneas.

Page 43: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Geometria (5/11)

Indexação– Índice Único

– Índice Múltiplos• Indices Intercalados

Page 44: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Geometria (6/11)

Indexação (cont.)Índice único

Page 45: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Geometria (7/11)

Indexação (cont.)Índice múltiplo

Page 46: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Geometria (8/11)

Acesso– Índice Único

– Índice Múltiplos• Indices Intercalados

Page 47: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Geometria (9/11)

AcessoComo é tratamento dos nós que podem conter toda

variante de primitiva e tipo de dados

– Dois mecanismos:• Interface Genérica -- esconde diferenças de dados

Page 48: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Geometria (10/11)

Acesso (cont.)– Dois mecanismos: (cont.)

• Iteradores:– Tipos:

Primitiva: PrimitiveIteratorFace: FaceIteratorTriângulo: TriangleIterator

Page 49: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Geometria (11/11)

Acesso (cont.)– Dois mecanismos: (cont.)

• Iteradores: (cont.)– Atravessa estrutura como se fosse vetor linear;– Acesso direto a valores das primitivas

• Filtra elementos não pertencentes aos tipos

Page 50: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Tratamento de estados (1/6)

Criação de grafo de cena Transformação Luzes Material

Page 51: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Tratamento de estados (2/6)

Criação de grafo de cena– Por geometria– Por superfície, iluminação e atributos de

transformação

Page 52: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Tratamento de estados (3/6)

TransformaçãoInfluencia todo nó sob ela, incluindo outras

transformações– Rotação– Translação– Escala

Page 53: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Tratamento de estados (4/6)

Luz– Fonte de luz:– Define

• posição e • orientação da fonte de luz

– Beacon: nó que define posição e orientação da luz

Page 54: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Tratamento de estados (5/6)

Material– Quase mapeamento de propriedades materiais

do OpenGL• Cores:

– Emissiva, ambiente, difusa e especular

• Brilho– Transparência não vem de OpenGL

Page 55: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Tratamento de estados (6/6)

Material (cont.)– Classes:

•SimpleMaterial: – base

•SimpleTexturedMaterial: – Derivada– Inclui cópia de textura– Parâmetros de sua manipulação:

• Filtros de textura

Page 56: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Concorrência (1/11)

Processamento concorrente e paralelo Tipos de concorrência Tipos de paralelismo Problemas dos threads Problemas dos aglomerados (clusters) Solução do OpenSG para threads Solução do OpenSG para aglomerados

Page 57: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Concorrência (2/11)

Processamento concorrente e paralelo– Concorrência:

• Processamento independente de várias execuções, sem seqüência específica

• Oposto a seqüencial• Pode ser realizado em uma única CPU:

– Mesmo aquelas do tipo mais simples– Na verdade, é muito antigo

Page 58: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Concorrência (3/11)

Processamento concorrente e paralelo (cont.)– Paralelismo:

• Processamento simultâneo• Subtipo de processamento concorrente

Tem história mais recente do que processamento concorrente.

• Multiplicação teórica do poder de processamento• Problemas de sincronização e comunicação

Page 59: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Concorrência (4/11)

Tipos de concorrência– Múltiplas formas, que não vêm ao caso:

• Cooperativo, preemptivo etc.

– Através de processos: • Pilha e espaços de endereçamento e diferentes• Código compartilhado em alguns casos;

– Através de threads: • Espaços de endereçamento compartilhados;• Pilhas distintas;• Código sempre compartilhado.

Page 60: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Concorrência (5/11)

Tipos de concorrência (cont.)– Threads e processos têm sido valorizados:

• Processadores SMT favorecem threads; • Máquinas SMP (Symmetric Multiprocessor)

favorecem processos;

Page 61: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Concorrência (6/11)

Tipos de paralelismo:– Quanto a comunicação:

• Memória compartilhada;• Memória distribuída (passagem de mensagens)

Page 62: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Concorrência (7/11)

– Modelos de cooperação:• Centralizado:

– Master/slave (mestre/escravo)– Cliente/servidor– Problema: Single point of failure;

• Descentralizado: – SPMD (Single Program/Multiple Data)– Mais tolerante a falhas

Page 63: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Concorrência (8/11)

Problemas dos threads– Sincronização

• Controle do fluxo do aplicativo;• Controle do acesso a dados:

– Locks ou travas;

– Consistência de dados: • Threads errados ou maliciosos podem corromper

dados.

Page 64: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Concorrência (9/11)

Problemas dos aglomerados (clusters)– Comunicação lenta através da rede;

• Relação entre comunicação e computação; – Problema de sincronização do aplicativo entre

máquinas;• Problema maior em aplicações gráficas com vários

monitores

Page 65: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Concorrência (10/11)

Solução do OpenSG para threads– Replicação resolve uso de locks/travas;– Sincronização de dados controlada por grafo:

• Lista de alterações diz o que deve ser comunicado• Alterações conflituosas não são combinadas

Page 66: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Concorrência (11/11)

Solução do OpenSG para aglomerados– Divisão de processos em clientes e servidores; – Servidores informam apenas clientes

registrados;– Estrutura de listas de alteração (changelists)

minimiza quantidade de dados a comunicar.

Page 67: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Conclusão

Ferramentas de grafo de cena são úteis; OpenSG é implementação inteligente e

flexível;– Usa técnicas modernas de projeto e

programação Adaptada a threads e processamento em

cluster; Organiza dados 3D

– Facilita criação de aplicativo.

Page 68: Visão Geral do OpenSG PSI-5787 Realidade Virtual Alexander Cerqueira Silva Richard Ibarra Hilton Fernandes 11/11/2002

Bibliografia

Open SG Forum http://www.opensg.org– OpenSG: Basic Concepts

OpenSG Forum Whitepaper– OpenSG – An Open Source Scenegraph– Fontes do OpenSG

VR Juggler http://www.vrjuggler.org– Scene Graph Rendering