27
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 Sementille Departamento de Computação/FC [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

A Realidade Virtual e Aumentada e suas aplicações na ... - Ferramentas para... · que são escritos para fins de sua utilização), e o respectivo hardware, façam uso dos seus

  • 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/

RV e RA e suas aplicações em TVD 26/03/2012

Prof. Sementille 27

RA na Web – sem marcadores

http://www.iamironman2.com/uk/

RA na Web – sem marcadores

http://www.iamironman2.com/uk/

Comparação de Ferramentas de Realidade Virtual Comparação de Ferramentas de

Realidade Aumentada