Introdução à Multimídia Caio Franco Igor Ebrahim Maria Carolina Rodrigo Cardoso Thiago Diniz Observações Importantes Introdução Realidade Aumentada Características Desenvolvimento de Aplicação Funcionamento da Aplicação Aplicação Exercícios Nossas conclusões A apresentação pode ser interrompida com perguntas a qualquer momento. Qualquer problema durante a execução, tanto da configuração da IDE quanto dos exercícios, poderá ser solicitada ajuda de qualquer um dos integrantes da equipe. O ARToolKit é uma biblioteca de suporte no desenvolvimento de aplicações de Realidade Aumentada. Extensível às linguagens C e C++. “A Realidade Aumentada (RA) é uma área de pesquisa computacional que trata da integração de elementos virtuais gerados por computador com o mundo real, realizando a composição de um ambiente misto em tempo real.” Fonte: http://pt.wikipedia.org/wiki/Realidade_aumentada Exemplo de aplicação com RA Ambiente real (rua qualquer) acrescido de dados virtuais, processados previamente por computador. Resultado: ambiente misto. Realização em tempo real. Sua base conceitual está na inserção de dados virtuais em uma cena real. Possui como objetivo criar um sistema em que o utilizador não consiga distinguir o mundo real do virtualmente aumentado. Possui duas tecnologias de apresentação: Video See Through Optical See Through Video See Through Optical See Through Biblioteca multiplataforma (Windows, Linux, Mac OS X, SGI) Sobrepõe marcadores reais por objetos virtuais 3D Marcadores extensíveis Simples algoritmo de calibração Biblioteca gráfica baseada no GLUT Renderização baseada em OpenGL Suportado, também, para Java e Matlab OpenSource (Licença GPL para uso não comercial) Fonte: http://www.hitl.washington.edu/artoolkit/ Arquivo disponível: \\cin01\scratch_rcaa2$ Passo 1: Copie a pasta ARToolKit para o Temp da máquina. Passo 2: Entre na pasta Examples -> simple Passo 3: Abra o projeto simpleTeste.vcproj Colocar na tela mais de dois objetos virtuais em 2 marcadores diferentes Declarar uma variável *patt_name2 e uma patt_id2 pra carregar o segundo marcador No for que pinta o objeto colocar um if a mais para pintar o segundo objeto, a condição do if será: patt_id2 == marker_info[j].id Uma função draw2 deve ser declarada se desejar pintar um objeto diferente do primeiro Na função init utilize um else if pra colocar a condição do segundo marcador Colocar na tela apenas um objeto virtual: Pintar o objeto fora do for. É uma biblioteca interessante, porém muito limitada. Muitas outras técnicas de RA com marcadores possuem melhor definição e usabilidade!