Upload
hatuyen
View
213
Download
0
Embed Size (px)
Citation preview
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 1
A Realidade Virtual e Aumentada e suas aplicações na Televisão Digital
Prof. Dr. Antonio Carlos SementilleDepartamento de Computação/[email protected]
2 . Ferramentas para Desenvolvimento de Aplicações de Realidade Virtual e Aumentada
Sumário da Apresentação Introdução Visão geral da hierarquia das principais
ferramentas de desenvolvimento◦ Sistemas Operacionais
◦ Bibliotecas Gráficas
◦ Bibliotecas de Comunicação
◦ Pacotes Gráficos ( de RV e RA)
◦ Pacotes de Desenvolvimento (de RV e RA)
Introdução Necessidade de ferramentas para o desenvolvimento
de aplicações de RV e RA é evidente Devem atender os requisitos básicos de software:
◦ Usabilidade, suporte a novas tecnologias, desempenho, manutenibilidade, tolerância a falhas, portabilidade e reusabilidade
Fornecer recursos específicos para RV e RA:◦ Suporte a dispositivos não convencionais (câmeras e
mouses 3D) e geração de imagens em tempo real
Introdução
Ferramentas de alto nível:◦ Evitam necessidade de conhecimento
profundo de material de base (como computação gráfica, interface com o sistema operacional etc.)
◦ Foco do desenvolvedor somente no aplicativo em si
◦ Permitem reuso de estruturas e algoritmos comuns para a gerência dos recursos utilizados
Introdução Principais requisitos de um ambiente de
desenvolvimento de aplicações de RV e RA:◦ Desempenho Deve fornecer recursos para alto desempenho Baixo desempenho: baixa interatividade, falta de imersão e
cybersickness
◦ Extensibilidade Permitir extensão das funcionalidade já disponíveis Exemplo: viabilizar um novo tipo de rastreador ou novos
recursos de uma placa gráfica mais moderna
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 2
Introdução Principais requisitos de um ambiente de
desenvolvimento de aplicações de RV e RA (cont.):◦ Flexibilidade Permitir alteração de parâmetros das aplicações em tempo de
execução Facilidade na incorporação ou modificação de funcionalidade Exemplos: algoritmos de reconhecimento de imagens específicos;
efeitos gráficos que necessitem de hardware de última geração
◦ Simplicidade Permitir desenvolvimento sem conhecimento de todas as
particularidades do ambiente Exemplo: um editor de cenários, sistema de gerenciamento de
objetos e suporte a linguagem scripts podem auxiliar muito no processo de desenvolvimento de um jogo (isola a lógica da infraestrutura)
Introdução Principais requisitos de um ambiente de
desenvolvimento de aplicações de RV e RA (cont.):◦ Robustez Sistemas de RV e RA são complexos: aumento da possibilidade de
falhas de hardware e software Ambiente deve fornecer recursos para tratamento de falhas
◦ Portabilidade Necessário em sistemas multiplataformas. Ex: jogos Possibilidade do sistema fornecer recursos para que as aplicações de
RV e RA possam ser instaladas e facilmente portadas para diferentes arquiteturas de hardware ( PCs, PDAs, consoles de jogos, etc.) e software (SOs – Linux, Irix, Windows; e linguagem – C/C++/C#, Java).
Introdução Principais requisitos de um ambiente de
desenvolvimento de aplicações de RV e RA (cont.):◦ Processos leves seguros (Thread safety) Suporte de forma simples e automática a threads Importante para os aplicativos tomarem vantagem de CPUs com
múltiplos núcleos
Introdução Principais requisitos de um ambiente de
desenvolvimento de aplicações de RV e RA (cont.):◦ Heterogeneidade Desejável que a mesma aplicação possa ser executada em
máquinas heterogêneas Necessidade de adaptabilidade
Visão geral da hierarquia das principais ferramentas de desenvolvimento
Sistema Operacional
Sistema Operacional
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 3
Na base: O Sistema Operacional
Existem dois modos distintos de conceituar um sistema operacional (Tanenbaum, 2010): • pela perspectiva do usuário ou programador (visão top-down): é uma abstração do hardware, fazendo o papel de intermediário entre o aplicativo (programa) e os componentes físicos do computador (hardware); ou• numa visão bottom-up, de baixo para cima: é um gerenciador de recursos, i.e., controla quais aplicações (processos) podem ser executadas, quando, que recursos (memória, disco, periféricos) podem ser utilizados.
Visão geral da hierarquia das principais ferramentas de desenvolvimento
Na base: O Sistema Operacional
Visão geral da hierarquia das principais ferramentas de desenvolvimento
Bibliotecas Gráficas OPENGL DIRECTX
Bibliotecas Gráficas
O que é OpenGL
o Open Graphics Library
o Poderosa e sofisticada API (Application Programming Interface) para criação de aplicações gráficas 2D e 3D;
o Não é uma linguagem!
o Programa é baseado em OpenGL ou é uma aplicação OpenGL.
Característicaso Qualidade visual próxima de um ray tracer;
o Rapidez;
o Portável;
o Não possui funções para gerenciamento de janelas, interação com o usuário ou arquivos de entrada/saída.
o Não existe um formato de arquivo OpenGLpara modelos ou ambientes virtuais;
o Primitivas Gráficas;
o Biblioteca GLU;
o Iluminação, colorização, mapeamento de textura, transparência, animação...
Características
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 4
Características
o Simplicidade▫ É preciso apenas determinar os passos
necessários para alcançar a aparência ou efeitodesejado;
o Mais de 250 comandos e funções.
o OpenGL 4.2
Aplicações – Modelagem e Edição de Imagens
Aplicações –Visualizadores e Simuladores Aplicações - Jogos
PipelineTransformações de Modelagem
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 5
DIRECTX
Microsoft DirectX é um pacote de APIs, utilizadas paraprogramação de jogos e implementação de vídeo ou áudio, ouseja, é quem padroniza a comunicação entre software ehardware.
Com a padronização de comunicação, o DirectX forneceinstruções para que aplicações (jogos, programas gráficos...que são escritos para fins de sua utilização), e o respectivohardware, façam uso dos seus recursos.
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 6
DIRECTX
DirectX - Serviços:Direct3D - serviços gráficos tridimensionais;DirectDraw - serviços gráficos bidimensionais
eficientes;DirectPlay - acesso a serviços de comunicações;DirectSound - acesso de baixo nível a
dispositivos de som;DirectInput - suporte a dispositivos usados em
jogos e simuladores.
InputAssembler
Vertex Buffer
Index Buffer
Texture
Texture
Texture
Depth/Stencil
Render Target
Stream Output
VertexShader
GeometryShader
Rasterizer/Interpolator
PixelShader
OutputMerger
Bibliotecas Gráficas – Direct3D 10
PIXEL SHADER
Programa executado pelo GPU que adiciona sombreamento e efeitos de luz tridimensionais a uma imagem.
EFEITOS - Dx10
IMAGEM REAL GAME CRYSIS
EFEITOS - Dx10
Frame do jogoem Directx 9
Frame do jogoem Directx 10
OpenGL x Direct3D• Direct3D é parte da DirectX
▫ API proprietária
▫ Pode usar aceleração 3D em hardware
▫ Plataforma Windows
• OpenGL
▫ API aberta
▫ Pode usar aceleração 3D em hardware
▫ Maioria dos SO's modernos.
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 7
OpenGL x Direct3DPortabilidade• Direct3D▫ Implementado apenas p/ a família Windows Incluindo XBOX e Sega Dreamcast
▫ Há tentativas de portar p/ sistemas Unix Requer engenharia reversa (processo difícil)
• OpenGL▫ Implementações disponíveis em várias
plataformas Microsoft Windows, Mac OS X, Linux e
iPhone.▫ SO's que permitem aceleração 3D: API
primária
Direct3DFacilidade de Uso No início Direct3D frustrava muitos
programadores.
◦ John Carmack pediu à MS para bandoná-lo emfavor do OGL (1997)
Após muita evolução, a crítica mudou
◦ John Carmack diz ser uma das melhores APIs com que já trabalhou (2007)
OpenGL Facilidade de Uso Não teve o problema de aceitação que o
direct3D;
Manteve a facilidade de realizar mudançascom chamadas de função única;
Baseada na linguagem de programação Cnão teve dependência com nenhumrecurso de linguagem particular.
OpenGL x Direct3DLinhas diferentes de pensamento Direct3D é projetado para ser uma
interface de hardware 3D◦ Direct3D espera que a aplicação gerencie os
recursos de hardware
OpenGL é para ser um sistema de renderização em 3D que pode ser acelerado por hardware.◦ OpenGL faz o driver gerenciar os recursos de
hardware
OpenGL x Direct3DExtensão e Flexibilidade
OpenGL (código aberto) inclui um mecanismo em que qualquer programador pode anunciar suas próprias extensões à API.
Direct3D (código fechado) é especificado por um fornecedor Microsoft, apenas, levando a uma API mais consistente, mas negar o acesso a recursos específicos do fornecedor.
BIBLIOTECAS DE COMUNICAÇÃO- MPI – Message-Passing Interface- PVM – ParallelVirtual Machine
Bibliotecas de Comunicação
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 8
43
Sistemas distribuídos “Coleção de computadores autônomos
interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados" George Coulouris
“Coleção de computadoresindependentes que se apresenta aousuário como um sistema único e consistente” Andrew Tanenbaum
BIBLIOTECAS DE COMUNICAÇÃOSistema Distribuído de RealidadeVirtual1. Uma sensação de espaço compartilhado◦ Uma sensação de estar localizado em um mesmo lugar.◦ A mesma cena, sons, etc.
2. Uma sensação de presença pessoal compartilhada◦ Avatar
3. Uma sensação de tempo compartilhado
4. Um modo dos participantes se comunicarem
5. Uma forma de compartilhamento
Cenários das Aplicações
1. Treinamento/Simulação◦ Campanha militar - tanques, aviões, infantaria
2. Projetos de Engenharia◦ Aviões - asas, motor, etc.
3. e-commerce◦ Comprando produtos
4. Jogos on-line Sistemas Distribuídos de
Realidade Virtual
Fraunhofer CVE, http://www.crcg.edu48
Motivação para Arquiteturas paralelas
Performance Custo Disponibilidade e confiabilidade
BIBLIOTECAS DE COMUNICAÇÃO
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 9
49
Middleware Camada que fornece um link entre
aplicações distintas.
Conjunto reusável e expansível de serviços e funções comumente necessários por parte de várias aplicações para funcionarem bem em um ambiente de rede. (NGI workshop, ’97)
BIBLIOTECAS DE COMUNICAÇÃO
50
Middleware (cont.) Facilita o desenvolvimento de aplicações
distribuídas.
Cliente Servidor
Middleware Middleware
BIBLIOTECAS DE COMUNICAÇÃO
51
Middleware - modelos
Message-Oriented Middleware (MOM)◦ MPI
Object-Oriented Middleware◦ RMI
BIBLIOTECAS DE COMUNICAÇÃOPACOTES GRÁFICOS PARA REALIDADE VIRTUAL
Pacotes Gráficos
OpenSceneGraph
PACOTES GRÁFICOSPARA REALIDADE VIRTUAL Biblioteca para grafos de cena
Construída no topo do OpenGL C++ API Orientada aos objetos Código aberto Popularidade crescente na comunidade gráfica Usado comercialmente (Boeing, NASA, …) Web site:◦ http://www.openscenegraph.org
Open Scene Graph
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 10
Open Scene Graph
Suporta:◦ Recorte baseado no volume de visualização
(View frustum culling)◦ Recorte baseado em oclusão◦ Recorte de pequenas características◦ Nós de Nível de Detalhe (LOD)◦ Classificação de Estado◦ Muitas outras características
Open Scene Graph
Core OSG – Fornece a funcionalidade essencialpara o grafo de cena e renderização
NodeKits – implementam mais tipos de nós do queos disponíveis no core
Plugins – Entrada e Saída para diferentes tipos de arquivos
Bibliotecas de interoperabilidade – para uso do OSG com vários pacotes e linguagens (ex. LUA e Phyton)
Grande coleção de Exemplos
A Distribuição OSG contém: A Ditribuição OSG
Core OSG
osg::Node - Base class for all nodes in the scene graph.
osg::Group – nó de grupo geral que mantém uma lista de filhos.
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 11
Nós de transformação
osg::Transform - Um Transform é um nó de grupo para o qualtodos seus filhos são transformados por uma matriz 4x4. É frequentemente usado para posicionar objetos em cena, baseados ementradas do usuário (por ex., via mouse) ou para animação
Nós de Geometria
osg::Geode - um Geode é um “nó de geometria", isto é, um nó folha do grafo de cena que possui objetos “renderizáveis” associados a eles.
Objetos renderizáveis são representados por objetos da classe Drawable, então, um Geode é um Node cujo propósito é agrupar Drawables.
DrawablesClasse virtual pura para a geometria.
Tudo que pode ser renderizado é implementado como uma classe derivadade Drawable.
Um Drawable não é um Node, e portanto não pode ser adicionado aografo de cena.
Em vez disso, Drawables acompanham os Geodes, que são nós do grafo de cena
Drawables também podem ser compartilhados entre Geodes diferentes, de modo que a mesma geometria (carregada na memória apenas uma vez) pode ser usada em diferentes partes do grafo de cena.
Existem plugins para suportar a leitura/escrita de muitos arquivos de formatos gráficose modelos 3D:
◦ A base de dados de carregadores inclui OpenFlight (.flt) TerraPage (.txp) LightWave (.lwo) Alias Wavefront (.obj) Carbon Graphics GEO (.geo) 3D Studio MAX (.3ds) Peformer (.pfb) Quake Character Models (.md2) Direct X (.x) Inventor Ascii 2.0 (.iv)/ VRML 1.0 (.wrl) Designer Workshop (.dw) AC3D (.ac) O formato nativo .osg ASCII.
◦ Os carregadores de imagens incluem .rgb .gif .jpg .png .tiff .pic .bmp .dds .tga
Plugins E/S de arquivos
OSGEdit
Auxilia a composição de cena para o OSG
Open source Importa modelos
criados poroutrosprogramas, arranjando suaestrutura de árvore e transformações
http://osgedit.sourceforge.net/
www.openscenegraph.org
http://www.nps.navy.mil/cs/sullivan/osgTutorials/SceneGraphOverview.htm
http://www.realityprime.com/scenegraph.php
References
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 12
Alguns exemplos
osgviewer cessnafire.lnk
osgreflect.exe.lnk osgparticleeffects.exe.lnk osgwindows.exe.lnk
Panda 3D
PACOTES GRÁFICOSPARA REALIDADE VIRTUAL
PANDA 3D
Panda3D é uma 3D Engine:- Rápido desenvolvimento- Baixa curva de aprendizado
Desenvolvida pela Disney para odesenvolvimento do seu MMORPGToonTown.
Mantida pela Disney e pelo Carnegie MellonUniversity's EntertainmentTechnology Center.
DESENVOLVIMENTO COM PANDA3D Formado por uma biblioteca, escrita em
C++, para renderização 3D edesenvolvimento de jogos
Desenvolvimento com C++ (diretamente)ou Python (indiretamente)
Forte incentivo ao uso de Python comolinguagem de script
Lançado com a Panda 3D Public License Version 2.0.
www.panda3d.org- Forte comunidade- Manual- APIs
Principais própositos de uso:- Games: Performance e Qualidade- Educação: Facilidade e Confiabilidade
PANDA 3D Características - CenasPANDA 3D
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 13
Características - Cenas
Scene Editor:- Criar layout 3D- Iluminação- Animação- Loading- Motion Path- Colisões
PANDA 3DCaracterísticas - CenasPANDA 3D
Exemplo (vídeo – simulação de água) PANDA 3D
Exemplo (vídeo – Panda3D e Artoolkit) PANDA 3D
OGRE
PACOTES GRÁFICOSPARA REALIDADE VIRTUAL
O que é OGRE?
•OGRE (Object-oriented Graphics Rendering Engine)
•Engine Gráfica 3D Open-Source orientada à cena
•Não é um Game Engine, mas sim um Rendering Engine
•Versões teste em Python, Java e .NET
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 14
Licença
OGRE foi concebida sob uma licença open source
O OGRE tem como licença default a GNU Lesser Public License (LGPL)
Pode ser utilizado sob a OGRE Unrestricted License (OUL)
Características Básicas• Orientada a objetos• Provê Ferramentas, Plug-ins e Add-ons• É compatível com inúmeras configurações de
Hardware 3D• Interface de programação oferecida
nativamente é escrita em C++• Multiplataforma• Encapsula o uso de bibliotecas como OpenGL e
Direct3D• Comunidade muito ativa
Exemplos de Uso
Ankh – Jogo de aventura no Egito◦ 1° produto comercial usando OGRE –
nov/2005
OGRE
Exemplo (vídeo – Demo Engine Gráfica)
OGRE
Exemplo (Vídeo – Ogre e Artoolkit)
Crystal Space
PACOTES GRÁFICOSPARA REALIDADE VIRTUAL
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 15
Crystal Space
É uma engine para o desenvolvimento de aplicações 3D escrita em C++
Software Open Source Sistemas Operacionais suportados:◦ Windows, Linux, Unix e Mac OSX
Disponível: http://www.crystalspace3d.org
Crystal Space
Boa documentação Possui editor de cenários Modularidade Funcionalidades:◦ Suporte a OpenGL (em todas as plataformas)◦ X11 (Unix e Linux)◦ SVGALib (Linux)◦ Mapeamento de texturas com perspectiva de
sombreamento
Crystal Space– Exemplo (vídeo 1)
Crystal Space- Exemplo (vídeo 2)
Irrlicht
PACOTES GRÁFICOSPARA REALIDADE VIRTUAL
Irrlicht
É uma engine 3D escrita em C++ Alto desempenho Licença zlib Boa documentação Suporta tanto OpenGL quanto DirectX Sistemas Operacionais suportados:◦ Windows, Linux, Unix e Mac OSX
Disponível: http://irrlicht.sourceforge.net
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 16
Irrlicht
Características importantes:◦ Sombras Dinâmicas◦ Sistemas de Partículas◦ Animação de personagens◦ Detecção de colisão
Irrlicht – Exemplo (vídeo 1)
PACOTES GRÁFICOS PARA REALIDADE
AUMENTADA
ARTOOLKIT
PACOTES GRÁFICOSPARA REALIDADE AUMENTADA
ARToolKitUma Visão Geral
ARToolKit - Introdução ARToolKit – biblioteca escrita em linguagem C/C++
para construção de aplicações de RealidadeAumentada
Originalmente criada pelo Dr. Hirokazu Kato Continua em desenvolvimento:◦ Human Interface Technology Laboratory (HIT Lab) da
Universidade de Washington
◦ HIT Lab NZ da Universidade de Cantebury – Nova Zelândia
◦ ARToolworks - Seattle
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 17
ARToolKit - Introdução
IDÉIA BÁSICA
ARToolKit - Introdução Características principais
◦ Toolkit para criação de aplicações de RA◦ Uma biblioteca Multiplataforma (Windows, Linux, MacOS X, SGI)◦ Sobrepõe objetos virtuais 3D sobre marcadores reais (baseado
em visão computacional)◦ Uma biblioteca de vídeo multiplataforma com:
- Múltiplas fontes de entrada (USB, Firewire, cartões de captura)
- Múltiplos formatos (RGB/YUV420P, YUV)- Rastreamento com múltiplas câmeras- Interface gráfica para inicialização
ARToolKit - Instalação
• No site http://www.hitl.washington.edu/artoolkit/na seção de documentação há toda a informação necessária para download, instalação e configuração do ambiente de compilação
Alguns itens necessáriosAmbiente de desenvolvimentoDSVideoLibGLUTDirectX RuntimeDispositivo de entrada de video
ARToolKit - Estrutura
ARToolkit - Princípios de Funcionamento
O ARToolKit é baseado em umaabordagem básica de detecção de bordacom um rápido algoritmo de estimativade posicionamento
ARToolkit - Princípios de Funcionamento
Matriz de transformação
.
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 18
ARToolkit - Princípios de Funcionamento
Imagem original Imagem binarizada Componentes conectados
Contornos Extração das bordas do e dos cantos do marcador
Associação aoquadrado
ARToolKit –Treinamento de padrões Utilitário mk_patt
• Execute o utilitário mk_patt
• Aponte a câmera para o marcadoraté que as bordas superior e lateral esquerda fiquem vermelhas
• Dê um nome ao arquivo de padrão gerado
ARToolKit – Princípios de Desenvolvimento Existem duas partes no
desenvolvimento de aplicações que usam o ARToolKIT:◦ Escrever a aplicação de RA; e
◦ Treinar as rotinas de processamento de imagem com os marcadores no mundoreal que serão usados na aplicação.
ARToolKit – Exemplo de Aplicação O programa consiste de uma rotina principal e diversas
rotinas gráficasPASSOS FUNÇÕES
INICIALIZAÇÃO 1. Iniciar a captura de vídeo e ler os arquivos de padrões de marcadores e parâmetros da câmera
init
MAIN LOOP2. Obter um quadro do vídeo de entrada
arVideoGetImage
3. Detectar os marcadores e os padrões reconhecidos no quadro de vídeo de entrada
arDetectMarker
4. Calcular a transformação de câmera, relativa aos padrões detectados
arGetTransMat
5. Desenhar os objetos virtuais sobre os padrões detectados
draw
FINALIZAÇÃO 6. Terminar a captura de vídeo cleanup
ARToolKit – Exemplo de Aplicação
Aplicação simpleTest
ARToolKit – Aperfeiçoamentos
Site do ARToolkit Plus :
◦ Melhoramento nas condições de iluminação
http://studierstube.icg.tu-graz.ac.at/handheld_ar/artoolkitplus.php
Real-time Augmented Reality:
◦ Sistema de rastreamento robusto
http://www.cv.iit.nrc.ca/research/ar
Site do ARToolkit Professional:
◦ Aumento no desempenho
http://www.artoolworks.com/Home.html
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 19
ARToolKit
exemplos
simpleVRML.exe.lnk simpleTest.exe.lnk
PACOTES GRÁFICOS PARA REALIDADE
AUMENTADA
ARTag Criado por Mark Fiala – IIT - Canadá◦ Usa técnicas digitais para corrigir pontos
falhos do ArtoolKit: falso positivo, falsonegativo, confusão entre marcadores◦ http://www.artag.net/
ARTag Exemplo: Magic Lens
ALVAR ALVAR é uma biblioteca de software para
criação de aplicações de RealidadeAumentada
Desenvolvido peloVTT (Technical Research Centre of Finland)
ALVAR
Windows XP 32-bit, Microsoft Visual Studio 2003, 2005 e 2008 (versões 7, 8 e 9).
Alvar core library requer:◦ OpenCV 1.0 (não funciona ainda com o
OpenCV 2.0)
Exemplos de aplicações Alvar requerem:◦ GLUT 3.7◦ CMake 2.6
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 20
ALVAR Características PrincipaisRastreamento baseado em marcadores Estimação precisa da posição do marcador Fácil adição de novos marcadores Recuperação de oclusões
Uso de múltiplos marcadores para detecção de posição As coordenadas do marcador podem ser configuradas
manualmente Ou podem ser automaticamente deduzidas pela autocalibração
Outras Características Esconder o marcador do ponto de visão Ferramentas para calibração de câmeras
OSGART
PACOTES GRÁFICOSPARA REALIDADE AUMENTADA
HIT Lab NZ (Julian Looser, Hartmut Seichter, Raphaël Grasset)
ToolKit (C++, Interface para Phyton) Cada nó mantém ponteiros para os filhos Características principais:
Modularidade, extensibilidade, Integrabilidade, Desempenho, Acessibilidade, Usabilidade
Escalabilidade Portabilidade
OSGART
Finalidade osgART adiciona a funcionalidade de
Realidade Aumentada ao OpenSceneGraph
Atualmente na versão 2.0, Open Source, Licença GPL http://www.orgart.org
OSGART
Abordagem básica do osgART: Grafo de cena básico
Para adicionar RA Video see-through Integra video ao vivo Aplica matriz de projeção
corretiva Atualiza as transformações de
rastreamento em tempo real
Abordagem do osgART: RA Grafode cena
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 21
Abordagem do osgART: RA Grafode cena
Projeção ortográfica
Quadrofull-screencom textura aovivo da fonte de vídeo
Matriz de projeçãoa partir do rastreador
Matriz de transformaçãoatualizada a partir do marcador em tempo-real
Alguns projetos usando o osgART
MagicBook usando sistemasde partículas e sombra
Interação MagicLens com diferentes técnicas de renderização
osgART – Exemplo picktest
osgartpick.exe.lnk
Referências
• OSGARThttp://www.osgart.org
• Outras referências
http://www.hitlabnz.org/wiki/OSGART
http://www.openscenegraph.org/projects/osg
XNA
PACOTES GRÁFICOSPARA REALIDADE VIRTUAL
XNA Game Studio Express Architecture - Microsoft
Você escreve seu programa em C#◦ Usando os recursos do XNA Framework
◦ Jogos podem executar em PCs com Windows e no XBOX360
Windows APIs, DirectX
.NET Framework para jogos
XNA Framework
Game code (C#) & content
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 22
GOBLIN XNA
PACOTES GRÁFICOSPARA REALIDADE AUMENTADA
128
Goblin XNA Criado na Universidade de Columbia - EUA◦ Plataforma para desenvolvimento de aplicações
RA e RV, com ênfase em Jogos◦ Escrita em C# ◦ Baseada no Microsoft XNA Game Studio 3.1.
Goblin XNA Herdou alguns dos objetivos de um projeto anterior
chamado Goblin, mas com foco maior na interface de usuário do core 3D , aproveitando a funcionalidade das engines de jogos do DirectX 3D e ambientes de desenvolvimento.
A plataforma suporta atualmente :◦ 6DOF (seis graus de liberdade) ◦ posição e orientação de rastreamento usando câmera de
monitoramento baseado em marcador através ARTag com OpenCV ou DirectShow, e InterSense trackers híbrido.
◦ Física é suportada através BulletX e Newton Game Dynamics. ◦ Rede é suportada através de biblioteca Lidgren. ◦ Goblin XNA também inclui um sistema de interface gráfica 2D
para permitir a criação de componentes clássicos de interação 2D.
Goblin XNA - Exemplos
Goblin - Simple Physics.exe.lnk
Goblin - Simple Particle Systems.exe.lnk
Goblin - Optical Marker Tracking.lnk
PACOTES DE DESENVOLVIMENTO
PACOTES DE DESENVOLVIMENTO
VRJuggler
PACOTES DE DESENVOLVIMENTO
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 23
VRJuggler Framework que esconde a complexidade da infraestrutura e das
especificações dos nós (dispositivos, monitores e computadores) VR Juggler é escalável:◦ De simples sistemas desktops como os PCs a complexos sistemas
executando em clusters ou high-end workstations e supercomputadores.
A flexibilidade do VRJuggler permite as aplicações executarem em muitas configurações de sistemas de RV incluindo:◦ desktop VR, HMD, CAVE™-like devices, e Powerwall™-like devices.
A portabilidade do código VR Juggler garante seu uso em qualquer Sistema Operacional
VR Juggler 2.0 suporta IRIX, Linux, Windows, FreeBSD, Solaris, e Mac OS XWindows, Linux, Unix e Mac OSX
Disponível: http://www.vrjuggler.org
VRJuggler Os desenvolvedores podem acessar
diretamente as APIs gráficas (OpenGL ou OpenGL Performer)
Utilizar diversos dispositivos como luvas, mouses, monitores e capacetes de visualização
VRJuggler Conjunto de ferramentas
VRJuggler - Exemplo (vídeo)
VRJuggler-Interacting with a High Resolution Wall Sized Display(360p_H.264-AAC).wmv.lnk
Blender
PACOTES DE DESENVOLVIMENTO
Blender
Programa open source desenvolvido pela Blender Foundation
Licença GNU-GPL
Software usado para: ◦ Modelagem 3D;◦ Renderização de gráficos e animações;◦ Efeitos visuais;◦ Aplicações interativas em 3D.
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 24
Blender
Software disponível em diversos SOstais como Windows, Mac OS X, GNU/Linux, Solaris, FreeBSD, IRIX
Grande conjunto de recursos e funcionalidades para criação de objetos 3D, renderização de cenas, animação com um editor de vídeo integrado e pós-produção, em um único ambiente de trabalho
Blender
Fornece funcionalidades semelhantes as encontradas em softwares comerciais, tais como:◦ XSI◦ Cinema 4d◦ 3D Studio Max◦ Maya
Blender – Exemplo Blender - Exemplo (vídeo)
FluxStudio
PACOTES DE DESENVOLVIMENTO
FluxStudio
Conhecido por VizX3D Ferramenta gráfica (editor) de
modelagem e animação Desenvolvimento de aplicações para
Web (3D) e conteúdo de mundos virtuais
Licença pertence a Media Machines
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 25
FluxStudio
Editor gráfico de fácil utilização Orientado à visualização Manipula conteúdos em:◦ X3D◦ VRML97◦ Outros
FluxStudio
Interface Gráfica permite:◦ Definir animações◦ Interatividade que pode disparar luzes, sons
e animações Fornece recursos para:◦ Depurar aplicações◦ Wizards
Disponível em: http://www.mediamachines.com
FluxStudio FluxStudio – Exemplo
DART
PACOTES DE DESENVOLVIMENTO
DART
Designers Augmented Reality Toolkit (DART) Desenvolvido no Augmented Environments
Laboratory do Georgia Institute of Technology -Gatech
É um editor gráfico Um conjunto de extensões do ambiente de
programação multimídia Macromedia Director Composto por:◦ behaviors (extensões do Director escritas na
linguagem LINGO)◦ Xtras (plugins para o Director escritos na linguagem
C++)
RV e RA e suas aplicações em TVD 26/03/2012
Prof. Sementille 26
DART
Ferramenta utiliza o ARToolKit para captura de vídeo, tracking e para o processo de reconhecimento de marcadores
Voltado para aplicações onde a mídia gerada por computador é diretamente integrada à percepção dos participantes
Suporta Windows e Mac OSX Apesar de disponível para uso livre, exige o
Macromedia Director (software comercial) Disponível em:
http://www.gvu.gatech.edu/dart/
DART
DART - Exemplo (vídeo)
PAPERVISIONFLARTOOLKIT
OUTROS PACOTES GRÁFICOS E DE DESENVOLVIMENTO
Realidade Aumentada na Web
-PaperVision- FlarToolkit
Um exemplo:http://plugintothesmartgrid.com/
RA da GE.url
RA na Web – sem marcadores
RA Autobots.ur
http://www.iamironman2.com/uk/http://www.iamironman2.com/uk/