X3DOM E WEBGL: O 3D INDEPENDENTE NA WEB



Documentos relacionados
DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

PADRÕES PARA O DESENVOLVIMENTO NA WEB

Desenvolvendo Websites com PHP

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit

Agregador de feeds RSS para dispositivos móveis

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

Afinal o que é HTML?

AULA: BrOffice Impress terceira parte. Ao final dessa aula, você deverá ser capaz de:

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB

CAPÍTULO 2. Este capítulo tratará :

II Semana TI. Curso ASP.NET AJAX. Raphael Zanon Rodrigues UNIVEM - Prof. Elvis Fusco

Gestão de Relacionamento com o Cliente CRM

VPAT (Voluntary Product Accessibility Template, Modelo de Acessibilidade de Produto) do eportfolio da Desire2Learn Maio de 2013 Conteúdo

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Computação Gráfica. Introdução. Profª Alessandra Martins Coelho

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET

da deusa Athena, da sabedoria na mitologia grega PROPOSTA COMERCIAL Fone:

DWEB. Design para Web. CSS3 - Fundamentos. Curso Superior de Tecnologia em Design Gráfico

Integração de sistemas utilizando Web Services do tipo REST

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

A IMPORTÂNCIA DE FIREWALL S PARA AMBIENTES CORPORATIVOS

Professor: Ronilson Morais Lobo. Salvador / 2015

XHTML 1.0 DTDs e Validação

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5

Análise Comparativa dos Recursos e Diferenças das Tecnologias de Programação HTML5 e HTML4

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

Informática Aplicada

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

HTML5 E WEB SEMÂNTICA, A WEB COM SIGNIFICADO

Programação Web Prof. Wladimir

Desenvolvendo Websites com PHP

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

COMO FUNCIONA UM ANTIVÍRUS E QUAIS SUAS PRINCIPAIS FALHAS

Frameworks para criação de Web Apps para o Ensino Mobile

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Artur Petean Bove Júnior Tecnologia SJC

Feature-Driven Development

REALIDADE AUMENTADA APLICADA NA EDUCAÇÃO: ESTUDOS DOS SEUS BENEFÍCIOS

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

ANÁLISE COMPARATIVA ENTRE APLICAÇÕES GRATUITAS EM NUVEM

PROJETO E IMPLANTAÇÃO DE INTRANETS

PHP Material de aula prof. Toninho (8º Ano)

Conectando sonhos e negócios.

RAZÕES PARA ADQUIRIR O TECLAN IPACK UNIFIED

CSS. Oficina de CSS Aula 10. Cascading Style Sheets. Cascading Style Sheets Roteiro. Cascading Style Sheets. Cascading Style Sheets W3C

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

INSTITUTO VIANNA JÚNIOR LTDA FACULADE DE CIENCIAS ECONOMICAS VIANNA JUNIOR. Internet em dispositivos Móveis e Aparelhos Domésticos

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc.

Planejando o aplicativo

1.1. Aplicações de TVD dinâmicas

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Desenvolvimento de Sites. Subtítulo

DATA WAREHOUSE. Introdução

Acadêmico: Maicon Machado Orientador: José Carlos Toniazzo

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

A Preservação do Capital Intelectual como Diferencial das Organizações de Sucesso

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Manual de utilização do Zimbra

Como Gerar documento em PDF com várias Imagens

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS - APLICATIVOS HÍBRIDOS. Prof. Angelo Augusto Frozza, M.Sc.

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Produtos da Fábrica de Software

Desenvolvimento híbrido versus desenvolvimento nativo de aplicativos móveis

Introdução O que irá mudar? Por onde começar? Para que serve cada camada (layer)? Inserindo a ClickTag...

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Web Design. Prof. Felippe

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

TÉCNICAS DE ESTRUTURAÇÃO PARA DESIGN RESPONSIVO: AMPLIANDO A USABILIDADE NO AMBIENTE WEB

RAZÕES PARA ADQUIRIR O TECLAN IPACK UNIFIED

Poder Judiciário Tribunal Regional Federal da Terceira Região

Entenda as vantagens dos chips de quatro núcleos

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

GERAÇÃO DE RELATÓRIOS

NOKIA. Em destaque LEE FEINBERG

Virtualização de Sistemas Operacionais

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Como Usar o DriverMax

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO

Transcrição:

X3DOM E WEBGL: O 3D INDEPENDENTE NA WEB Augusto Francisco Ferbonink¹, Willian Barbosa Magalhães 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil aferbonink@gmail.com wmagalhães@unipar.com Resumo. Este trabalho apresenta a descrição sobre x3dom e WebGL, que são tecnologias utilizadas para a renderização de objetos 3D em navegadores web, tendo como objetivo apresentar um estudo sobre suas estruturas e a forma de interação entre tecnologia-navegador, estabelecendo uma como principal destaque no mercado de 3D na web atual e futuro, utilizando artigos, livros e informações publicadas na web por importantes instituições de ensino e empresas de desenvolvimento 3D. Após o estudo chegou-se à conclusão que a WebGL tem se sobressaído em relação ao x3dom, tornando-se uma grande tendência a liderança no mercado 3D voltado para a Web. 1. Introdução A internet é a tecnologia que mais tem crescido no mundo nos dias atuais, e tem se tornado mais acessível aos mais diversos públicos. De acordo com o IBOPE, em uma pesquisa realizada no segundo trimestre de 2013, revelou que o número de usuários da grande rede de computadores aumentou 10,8 milhões em relação ao segundo trimestre do ano anterior. Essa enorme gama de usuários da internet leva aos desenvolvedores de outras tecnologias, como o 3D, a utilizarem os navegadores web como meio de intermediação entre usuário e aplicação. O 3D é uma tecnologia que consiste em exibir objetos, cenas e cenários virtuais em três dimensões, reproduzindo uma percepção de um mundo real. Esta tecnologia já utiliza os navegadores web como forma de interação com seus usuários em diversas áreas de aplicação, como em games e apresentações online. Ao longo dos últimos anos surgiram várias ferramentas que, instaladas nos navegadores, possibilitam a reprodução do 3D. No entanto, essas ferramentas podem afetar a aparência do objeto quando reproduzido em navegadores distintos, comprometendo a qualidade da renderização, além do fato de causar transtornos aos usuários, como as frequentes atualizações das mesmas. A fim de solucionar estes problemas, assim como transformar os navegadores web independentes de plug-ins, algumas tecnologias alternativas foram criadas, como o x3dom e a WebGL. Este artigo objetiva-se a esclarecer o que são essas tecnologias e como elas são interpretadas pelos navegadores, a fim de chegar a uma conclusão sobre qual se destaca em relação ao mercado 3D atual e futuro.

2. Metodologia Para a realização deste trabalho foi realizado uma revisão bibliográfica em conteúdo disponível na web, em web sites de empresas e instituições cujo as informações obtidas são de total confiança. 3. Desenvolvimento 3.1 x3dom x3dom É um framework baseado na linguagem X3D desenvolvida pela comunidade W3DC (Web 3D Consortium) que permite visualização de objetos, cenas e aplicações 3D [X3dom, S.d]. É uma linguagem para o desenvolvimento de conteúdo 3D em páginas HTML5 integrando uma cena X3D com o HTML, a cena X3D é representada como um elemento DOM do HTML, não é necessário o uso de nenhum plug-in para a renderização [Lemos, S.d]. 3.1.1 X3D O X3D (extensible 3D), surgiu nos anos 2000 como uma nova extensão do VRML97, antigo padrão para desenvolvimento 3D na Web. [Quintella, 2010]. Combinando geometria e descrições de comportamentos instantâneos em um arquivo estendido a vários formatos, incluindo o XML (Extensible Markup Language). De acordo com dados obtidos da Divisão de Bibliotecas e Documentação - PUC- Rio, suas principais funcionalidades são: Gráficos 3D: Geometria poligonal, geometria paramétrica, transformações hierárquicas, iluminação, materiais e mapeamento de textura; Gráficos 2D: Texto, vetor 2D e formas planares desenhadas sobre transformações 3D hierárquicas; Animações: Timers e interpoladores para lidar com animações contínuas; Interação com o usuário por meio de mouse e teclado; Navegação: Câmeras, movimento do usuário na cena 3D, detecção de colisão, proximidade e visibilidade; Rede: Habilidade de compor uma cena 3D por meio de recursos localizados em outros pontos na rede, hiperelos para objetos de outras cenas ou recursos na web; Objetos definido pelo usuário: habilidade de estender as funcionalidades do exibidor X3D por meio da criação de tipos de dados definidos pelo usuário (PROTOS); Extensão por meio de scripts: É possível a alteração da cena dinamicamente por meio de linguagens de programação imperativas, de sistema ou de script; Simulação física: Animação de humanoides, dados geoespaciais, integração com protocolos de Simulação Interativa Distribuída (DIS). 3.1.2 Como os Navegadores Interpretam o código x3dom O código deve ser inserido dentro das tags<x3d></x3d>, no corpo do código HTML, porém, elas não são reconhecidas como tags nativas do hmtl5, sendo necessária a importação de referências no cabeçalho do código HTML. A figura 1 apresenta as importações necessárias para o reconhecimento do x3dom:

Figura 1: Importações necessárias para o reconhecimento do x3dom no HTML5 3.2 WEBGL WebGL é uma API gráfica de baixo nível definida como padrão 3D para a web pela W3C, aproveita todo o poder do hardware do computador usando JavaScript. Ela possibilita a renderização de gráficos 3D nos navegadores sem a necessidade de plugins [Parisi, 2014] Na descrição fornecida no web site oficial do grupo Khronos (grupo que desenvolve e mantem a API) diz que WebGL é uma api muiltiplataforma de livre uso e acesso baseado na biblioteca do OpenGL ES (embarked systems) na versão 2.0 para a web com um contexto de desenho 3D de baixo nível para ser implantado dentro do HTML. Utiliza a linguagem de sombreamento GLSL (GL Shading Language) ES, podendo ser usando sozinha ou com outros conteúdos da Web em qualquer lugar da página. Ideal para aplicações web dinâmicas em 3D que utilizam javascript e será totalmente integrada nos principais navegadores. Parisi (2014) analisou essa descrição, e dela retirou várias ideias que podem ser utilizadas entender melhor o que é WebGL e como é estruturada e organizou-as em tópicos: WebGL é uma API: WebGL é acessado exclusivamente através de um conjunto de interfaces de programação JavaScript; não há tags explicativas como há com o HTML. Renderização 3D em WebGL é comparado ao desenho 2D usando o elemento Canvas, em que tudo é feito por meio de chamadas de API de JavaScript. Na verdade, o acesso a WebGL é fornecido usando o elemento Canvas existente e obter um contexto de desenho especial específico para WebGL. WebGL é baseada em OpenGL ES 2.0: OpenGL ES é uma adaptação do 3D estabelecido há muito tempo de renderização do OpenGL padrão. O "ES" significa "sistemas embarcados", o que significa que foi adaptado para o uso em dispositivos de computação pequenas, principalmente celulares e tablets. OpenGL ES é a API que os iphones, ipads, celulares Android e tablets Android utilizam para renderizar gráficos 3D. Os designers da WebGL sentiram que, baseando a API em dimensões reduzidas do OpenGL ES, seria mais viável para distribuir uma API 3D cross-plataform (multiplataforma), cross-browser (multi-navegadores) consistente para a web. WebGL combinada com outros conteúdos da web. WebGL pode estar em qualquer lugar ou lugares da página. O Canvas 3D pode pegar apenas uma parte da página, ou a página inteira. Ele pode residir dentro das tags <div>. Isso significa que você desenvolve seus gráficos 3D usando WebGL, mas todos os seus outros elementos são construídos usando componentes do HTML.

WebGL é construído para aplicações web dinâmicas. WebGL foi criado com a distribuição para a web em mente. WebGL é baseada em OpenGL ES, mas foi adaptada com características específicas que se integram bem com navegadores web, o trabalho com a linguagem JavaScript, e são amigáveis para web. WebGL é multi-plataforma. WebGL é capaz de rodar em qualquer sistema operacional, em dispositivos que vão desde telefones e tablets a computadores desktop. WebGL é livre de royalties. Como todas as especificações da web abertas, WebGL é livre para usar. É uma gratuita. A WebGL utiliza o elemento canvas do HTML5, que por sua vez é nativo da linguagem, não sendo necessária a importações de bibliotecas externas para reconhecer a linguagem, sendo obrigatório apenas obter o contexto de desenho dentro do corpo do código HTML5, referenciando a API WebGL. A figura 2 apresenta um método que obtém o contexto desenho WebGL. Figura 2: Obter contexto de desenho WebGL 4. Considerações Finais O x3dom se destaca pela facilidade de desenvolvimento, pois, traz com ele uma linguagem mais simples e mais madura, em contrapartida, seus métodos de conversão de objetos 3D em diversos formatos para o x3dom, são limitados em relação ao métodos encontrados para a conversão desses objetos para WebGL. A WebGL por se tratar de uma linguagem de mais baixo nível, se torna muito complexa para desenvolvedores iniciantes, porém, já traz consigo várias bibliotecas e toolkits para o auxílio no desenvolvimento, e mesmo sendo uma técnica nova, já é utilizada em inúmeras aplicações web. Por esses motivos, conclui-se que a WebGL se sobressai em relação ao x3dom, se tornando uma grande tendência a liderança no mercado de desenvolvimento 3D para web. 5. Referências Bibliográficas QUINTELLA, F., et al. DWeb3D: Um toolkit para facilitar a criação e manipulação de cenas 3D em X3D. Disponível em: < http://www.tecgraf.pucrio.br/~abraposo/pubs/svr2010/felipequintella_dweb3d.pdf > Acesso em: 18 ago. 2014 PUC-RJ Principais Funcionalidades do X3D. Disponível em <http://www2.dbd.pucrio.br/pergamum/tesesabertas/0821387_10_cap_03.pdf> IBOPE Número de pessoas com acesso à internet no Brasil chega a 105 milhões. Disponível em: <http://www.ibope.com.br/pt-br/noticias/paginas/numero-de-pessoascom-acesso-a-internet-no-brasil-chega-a-105-milhoes.aspx>

X3DOM About X3DOM. Disponível em: < http://www.x3dom.org/?page_id=2 > LEMOS, Marcílio., MACHADO, Liliane. Novas tecnologias para o desenvolvimento de conteúdo 3D para web. Disponível em <http://www.lbd.dcc.ufmg.br/colecoes/srv/2012/0012.pdf> Khronos. WebGL. Disponível em <http://www.khronos.org/webgl> Acesso em: 18 ago. 2014 PARISI, T. Programming 3D applications with HTML5 and webgl. Sebastopol: O Reilly, 2014. 384 p. [e-book]