Your browser does not support current web standards. It would be a good idea to visit <URL> to get a standards compliant browser, so that you can better take advantage of this site and other sites. This site is still accessible to any browser or Internet device but may not format exactly right. X3D Frequently Asked Questions Translation to Portuguese by: Luciano Pereira Soares última atualização Março 2004 Visão Geral O que é o X3D? Qual é a diferença entre o VRML97 e o X3D? O que o X3D parece? Posso utilizar arquivos VRML97 em meu navegador X3D? Como converto meus arquivos VRML97 para X3D? Por que minha empresa deveria suportar o X3D? Visão Técnica Como é a especificação do X3D estruturada? Qual mudanças funcionais existem entre o VRML97 e o X3D? O que são Profiles e components Os pré requisitos dos components são automaticamente carregados ou eu ainda tenho que declarar eles? VRML é extensível. Por que o X3D é mais extensivel que o mecanismo EXTERNPROTO do VRML? Como novos components e profiles são criados? As empresas precisam suportar todos os Profiles, Components e Levels? Não será um problema tendo empresas fazendo dúzias de components? Para o que a utilização de components é boa? É verdade que nós como Box, ElevationGrid, etc. serão eliminados? O X3D é realmente apenas o VRML-Lite? Ferramentas e Aplicações Que ferramentas existem para suportar o X3D? Eu realmente necessito usar o Maya/3DSMax/AutoCAD/etc para criar conteúdos X3D? Existe um navegador X3D código aberto (Open Source)? Como posso fazer minha aplicação ler/gravar em X3D? Como sei que uma aplicação realmente suporta a especificação X3D? Onde posso encontrar ferramentas para converter meu conteúdo VRML97 em X3D? Questões específicas de XML Por que se preocupar com Extensible Markup Language (XML)? Existe uma Document Type Definition (DTD) aceita? Existe um Schema aceito? O que mais existe sobre outras tecnologias relacionadas ao XML? Como marcas XML podem ser integradas ao navegador web? Quantos acrônimos de três letras vou ter de conhecer para poder usar o X3D? Onde posso conseguir mais informações sobre o XML? Processo e status de desenvolvimento Quem está desenvolvendo o X3D? Existe uma especificação do X3D? Qual é a situação da especificação? Existe uma implementação exemplo ou referencia? Qual é o custo da licença para usar o X3D? Posso ajudar com o desenvolvimento do X3D? Visão Geral O que é o X3D? O X3D é um padrão aberto para distribuir conteúdo 3D. Ele não é uma API de programação, tão pouco um formato de arquivo para troca de geometrias. Ele combina ambos, geometria e descrições de comportamentos instantâneos em um simples arquivo que tem inúmeros formatos de arquivos disponíveis para isso, incluindo o Extensible Markup Language (XML). É a próxima revisão da especificação ISO VRML97, incorporando os avanços dos recursos disponíveis nos últimos dispositivos gráficos comerciais tanto quanto melhoras na sua arquitetura baseado nos anos de retorno da comunidade de desenvolvimento do VRML97. Topo Qual é a diferença entre o VRML97 e o X3D? Existem grandes e pequenas diferenças entre os dois padrões. O X3D aproveita o trabalho do VRML97 e deixa clara todas as áreas sombrias da especificação anterior, que foram descobertas através dos anos de uso. Foram usadas as premissas básicas e então elas foram estendidas para prover uma maior flexibilidade. As grandes mudanças incluem o completo ajuste da especificação em três especificações separadas lidando com conceitos abstratos, formato de codificação para arquivos e acesso a linguagem de programação. Outras modificações incluem a maior precisão com a iluminação e modelo de eventos e a troca de certos nomes de campos para uma maior consistência. As maiores mudanças podem ser sumarizadas da seguinte forma: Capacidades do grafo de cena expandidas modelo de programação de aplicações revisado e unificado Multiplos formatos de codificação, descrevendo o mesmo modelo abstrato, incluindo XML Arquitetura modular permitindo uma faixa de níveis para serem adotados e suportados por diversos tipos de mercados Extrutura da especificação expandida O grafo de cena X3D - o coração de uma aplicação X3D - é quase idêntico a do grafo de cena VRML97. O projeto original da estrutura e tipos de nós do grafo de cena VRML97 foi baseado em uma já estabelecida técnica em computação gráfica interativa. Ele tem servido bem o VRML97 durante os anos e resistido durante o tempo. Modificações foram feitas no grafo de cena X3D, primariamente em função de incorporar os avanços nos dispositivos gráficos comerciais, via a introdução de novos nós e campos dos dados. Adicionalmente mudanças menores foram feitas de forma a esclarecer, como as de ser mais preciso no sistema de iluminação e modelo de eventos, e prover acesso aos valores de transparência nos campos de cores. O X3D tem uma única interface de programação de aplicações (API). Esta difere do VRML97 na qual tem uma API de script interna mais uma API externa. A API unificada do X3D esclarece e resolve diversos problemas que existiram no VRML97 resultando em uma implementação mais robusta e confiável. Conexões por ECMAScript e Java são definidas e ECMAScript é um requisito para a conformidade de uma aplicação. O X3D suporta múltiplas codificações de arquivos, a própria VRML97 e adicionalmente Extensible Markup Language (XML) e binário comprimido. A codificação XML permite uma suave integração com serviços de web (web services) e arquivos e transferência de dados entre plataformas inter-aplicações ( cross-platform inter-application). O formato binário comprimido está atualmente em desenvolvimento. Ele irá fornecer uma maior banda de transmissão de dados. Cada codificação tem suas vantagens para diferentes usos. Todas as codificações suportam todo o conjunto de características do X3D. O X3D emprega uma arquitetura modular para prover uma maior estensibilidade e flexibilidade. A maioria dos domínios de aplicações não necessitam de todos os recursos do X3D, tão pouco todas as plataforma suportam a gama de funcionalidades definidas na especificação. Os recursos do X3D são agrupados em componentes (components) que podem ser suportados pela implementação em uma mistura de capacidades para atingir as necessidades de um mercado ou plataforma em particular. O X3D também introduz o conceito de perfis (profiles) - uma pré-definida coleção de componentes comumente encontrados em certos domínios de aplicações , plataformas, ou um cenário de uso, por exemplo trocas de geometrias entre ferramentas de modelagem. Diferente do VRML97, na qual requer um completo suporte de suas funcionalidades para estar em conformidade, o X3D permite vários graus de suporte do padrão para atingir uma variedade de necessidades. O mecanismo de componentes do X3D também permite desenvolvedores a implementar suas próprias extensões de acordo com um rigoroso conjunto de regras, ajudando a evitar a "torre de babel" das extensões dos desenvolvedores que surgiram no VRML97 nos últimos anos. Finalmente, a especificação do X3D por si mesma tem sido reestruturada, permitindo um ciclo de vida mais flexível para acomodar as evoluções dos padrões. O padrão X3D é divido em três especificações separadas lidando com conceitos abstratos e de arquitetura, codificação de arquivo e acesso de linguagem de programação. Este enfoque permite à especificação mudar durante o tempo e facilita sua adoção através da ISO para especificar partes da especificação conforme necessário. Topo O que o X3D parece? A nova especificação está sendo finalizada e uma proposta de pré-lançamento está disponível para revisões pelo público. Devido as regras dos processos ISO, nós não podemos lançar uma proposta final atual da especificação para a revisão pública. Membros do consórcio, podem entretanto, ter completo acesso a especificação em todos os estágios dos processo. Propostas publicas podem ser encontradas neste site, porém entenda que severas mudanças tem sido feitas desde que estas foram publicadas. Topo Posso utilizar arquivos VRML97 em meu navegador X3D? Sim e não. Um arquivo VRML97 não é um arquivo X3D. Um navegador puramente X3D não será capaz de ler um arquivo VRML97 logo que existem numerosas mudanças na sintaxe que levam os dois a incompatibilidades. Entretanto, a maioria dos navegadores que suportam o padrão X3D também suportam o padrão VRML97. O melhor é checar a documentação do seu navegador para informações mais detalhadas. Topo Como converto meus arquivos VRML97 para X3D? Existem diversas ferramentas disponíveis que podem fazer isso para você. Se você tem um arquivo relativamente simples que não contem scripts ou externprotos então você pode editar manualmente o texto para trocar o cabeçalho e inserir a nova declaração PROFILE que você estará com o documento pronto. Qualquer coisa mais complexa vai requerer a ferramenta e idealmente um razoável trabalho de conhecimento com a nova especificação (diversas áreas funcionais foram mudadas para serem mais rigorosas ou apenas são simplesmente diferentes). Veja a Seção de ferramentas para maiores detalhes em opções disponíveis. Topo Por que minha empresa deveria suportar o X3D? O suporte ao X3D cria diversas vantagens para sua empresa: Principalmente porque, mesmo que seu produto use um formato proprietário, suportando o X3D instantaneamente, você tem acesso a mais ferramentas, conteúdo e compatibilidade com outras aplicações, tudo isso com um esforço mínimo. Você tem o melhor dos dois mundos, o seu formato MAIS compatibilidade industrial. Seu produto se beneficiará, tendo uma competitiva vantagem comercial, por poder se afirmar "Compatível com o X3D". Isto, adicionalmente ,irá prover um caminho mais fácil para alavancar o amplo desenvolvimento industrial em X3D. Existem significativos movimentos comerciais e código-aberto para avançar o X3D. Isto provê um caminho para a sua aplicação não ter que "reinventar a roda", cada vez que novos avanços na indústria são feitos. A compatibilidade com o X3D é fácil logo que você não tem que cumprir toda a especificação para se obter a conformidade. O perfile (profile) Interchange, o mais simples de todos os perfis, é simples de implementar e equivalente a maioria dos recursos introdutórios de programação para computação gráfica 3D (transformadas simples, geometrias, texturizaçao e iluminação). Por suportar o X3D, sua empresa ajuda no crescimento da adoção do 3D na indústria como um todo! O X3D age como uma plataforma unificadora e unindo as bandeiras comercias na qual toda a indústria pode crescer. O conteúdo X3D é modular e reutilizável, economizando tempo de desenvolvimento e dinheiro. O X3D mantém o conteúdo, exportadores e ferramentas VRML. Pacotes que exportam VRML como o 3DSMax, já são próximos da compatibilidade com o X3D. Existem diversos esforços em andamento para atualizar os exportadores existentes para X3D. O X3D suporta opcionalmente codificações XML para uma forte integração com outras tecnologias da Web. Devido a ser extensível e modular, um navegador pode suportar somente os perfis que são necessários, assim empresas podem fazer navegadores pequenos, eficientes para atingir suas necessidades individuais. Eles também podem prover suporte específico para segmentos altamente específicos de mercado sem corromper o padrão ou outros navegadores. Topo Visão Técnica Como é a especificação do X3D estruturada? Devido aos novos requisitos de suportar múltiplos formatos de arquivo e linguagem de programação, X3D é na verdade composto de 3 especificações ISO separadas:: 19775:200x Uma descrição abstrata de todas as partes funcionais do sistema e como esta se referencia a uma representação concreta. Isto descreve modelos estruturais e de execução em termos abstratos. Funcionalidades de linguagens de programação externas também são expressadas em termos abstratos como grupos de serviços que podem ser requisitados e providos em um mundo ideal. 19776:200x Um conjunto de descrições de formatos de arquivos e como uma estrutura abstrata de uma especificação é codificada neste arquivos - ambos em formato texto ou binário. Dois formatos de texto são descritos: O clássico VRML (usando o sistema de chaves e colchetes do VRML97) e XML. Existe um trabalho em andamento para um formato binário, porém ele ainda não esta completo. 19777:200x Um conjunto de mapeamentos para várias linguagens de programação para as capacidades de serviços abstratas. Logo que nem todas as linguagens de programação são iguais, esta especificação mapeia as estruturas individuais das linguagens de programação para serviços abstratos definidos pela especificação. Especificações para Java e ECMAScript estão definidas. Topo Qual mudanças funcionais existem entre o VRML97 e o X3D? Existem mudanças sutis e não tão sutis. Seria impossível listar todas, porém aqui estão alguns itens que você precisa estar a par: Os arquivos estão agora estruturados para definir as capacidades necessárias como parte do cabeçalho. Isto necessita que ao menos seja definido o perfil (profile) e qualquer componente (component) extra. Externprotos agora são usados somente para definir conteúdo externo ao arquivo X3D. Eles não podem ser usados para prover mecanismos de extensão para o navegador. A forma de prover extensões específicas para o navegador é através de componentes (components) adaptados. Nomes de acesso para campos mudaram de eventIn, eventOut, field e exposedField, para inputOnly, outputOnly, initializeOnly e inputOutput, respectivamente. Scripts podem ter campos inputOutput (exposedFields) definidos. Um nome DEF não pode ser multi definido mais. Todo conteúdo de leitura é desacoplado. Onde no VRML97 necessitaria que scripts fossem carregados antes da execução começar, X3D remove esta necessidade e define que o arquivo começa a executar primeiro e depois de certo tempo, recursos (scripts, texturas, sons, inlines, externprotos) são carregados. O modelo de execução entre o conteúdo de um script e o grafo de cena é rigorosamente definido e precisamente controlado. Onde o VRML97 permite um script multi-threaded arbitrariamente trocar o grafo de cena em qualquer ponto, o X3D define somente certos ponto onde estas alterações podem ser feitas. A execução e modelo de programação para scripts é consistente entre linguagens de programação e aonde quer que você esteja, dentro ou fora do navegador - uma definição da API é regra geral. Rigorosa definição de conjunto de definições de tipos abstratos para nós. Topo O que são Profiles e components? Estes são a nova forma do X3D de definir ambas, extensibilidade e o conjunto de serviços que o conteúdo dos usuários necessita. Um componente (component) define uma específica coleção de nós. Tipicamente esta coleção tem em comum um conjunto de funcionalidades - por exemplo a estruturas NURBS e as habilidades de texturização. Um componente (component) consiste da definição dos nós e um conjunto de níveis que prove um cada vez maior conjunto de implementações. Um nível simples requer apenas poucos nós e talvez uma seleção de campos a serem suportados, enquanto que níveis maiores requerem todos os níveis mais simples, mais nós mais complexos. Por exemplo, o nível 1 de NURBS requer apenas linhas e curvas 2D básicas, enquanto que o nível 4 requer, costura, junção e superfícies de revolução. Um perfil (profile) é uma coleção de componentes para um específico nível de suporte. Um perfil (profile) pode não conter outro perfil, porém ele necessita todos os mesmos componentes (components) e níveis como outro perfil (profile), e ainda mais. Todos os arquivos X3D requerem a definição do perfil (profile) que está em uso, na qual pode ser suprida com a requisição de componentes adicionais pelo usuário - ou por níveis maiores que aqueles providos pelo perfil (profile) ou que ainda não foram definidos no perfile (profile). Topo Os pré requisitos dos componentes são automaticamente carregados ou eu ainda tenho que declarar eles? Boa pergunta. Nós não temos uma resposta ainda. De alguma forma este importante detalhe nos escapou quando estávamos escrevendo a especificação e logo não irá aparecer na versão final do documento ISO. Nós teremos uma resposta a esta pergunta no site Web3d.org logo que tivermos uma resposta final. Topo VRML é extensível. Por que o X3D é mais extensível que o mecanismo EXTERNPROTO do VRML? O VRML tem somente o mecanismo Externproto para extensibilidade, porém não um mecanismo real para criação de grupos de extensões de funcionalidade. Os mecanismos de componente, nível e perfil do X3D permite isso. O time da especificação sentiu que uma natureza de duas caras para os externprotos seria um grande problema para definir o correto comportamento. p.e., quando a implementação pode agir fora dos limites de um evento normal do VRML como uma implementação de um nó nativo ou ser restringido por isso quando escrever como um arquivo VRML. Desde que componentes já foram definidos como uma forma de estender o navegador com definição de nós nativos, foi decidido minimizar a confusão e somente definir uma forma de prover extensibilidade. Um componente pode conter vários nós (i.e. o perfil Nurbs contém todos os nós relacionados com nurbs). Também, um componente pode adicionar outras áreas de funcionalidade, como suporte as novas linguagens de scripting, ou requisitos de interfaces de usuário, etc. Um componente pode também simplesmente ser uma coleção de externprotos. Componentes (components) podem ser definidos mais que apenas nós. Eles podem ser usados para uma área funcional inteira. Por exemplo, nós podemos precisar de um in-line ECMAScript com o arquivo X3D em certo ponto. O mecanismo de componentes (component) permite este tipo de extensão. Topo Como novos components e profiles são criados? Empresas podem criar novos Componentes com suporte para seus produtos e submetê-los para a diretoria do X3D para sua aprovação. Quando um componente é submetido, este contém um prefixo para a empresa que submete o componente similar como as extensões OpenGL que têm o prefixo da empresa que criou a extensão. Componentes vão sofrer os testes e revisões pela diretoria do X3D, o Consórcio Web3D e a comunidade como um todo. Uma vez que um componente seja aceito e implementado por mais de uma empresa, o prefixo muda para EXT_. Se o componente é classificado pela diretoria, ele então recebe o prefixo X3D_. A diretoria pode julgar que certos componentes são tão largamente adotados e importantes que deveriam ser incluídos em um conjunto de modificações para a especificação ISO oficial.. Uma vez que um grupo de componentes (components) e/ou perfils (profiles) são julgados importantes para a inclusão através das várias aplicações, uma nova versão do X3D pode ser criada incluindo, por padrão, um conjunto de perfis (profiles). Uma nova versão implica mais funcionalidade que as versões anteriores. Empresas podem criar navegadores, ferramentas, importadores e exportadores X3D na qual suportam diferentes versões, perfils (profiles) e componentes (components). Por exemplo, um exportador para o 3DSMax que é usado nos ambientes de produção de video-games pode suportar somente o perfil Interchange, enquanto que um plug-in para navegador da Internet pode suportar o perfil Immersive ou Full. Topo As empresas precisam suportar todos os Profiles, Components e Levels? Não. Perfis e componentes existem para que as empresas precisem somente suportar perfis e componentes para suas necessidades. Por ter perfis, seus produtos podem ter certeza que o conteúdo que eles lerem irá funcionar nas suas aplicações, e que aquele conteúdo que eles criaram irá funcionar em outras aplicações que suportem seus componentes ou perfis. Muitas empresas não vão querer suportar uma especificação grande e complexa como o VRML97. Porém a estrutura modular do X3D significa que eles podem começar suportando perfis (profiles) e componentes (components) simples, e gradualmente adicionar perfis adicionais conforme eles se sentirem preparados. Topo Não será um problema tendo empresas fazendo dúzias de components? Não. O processo de ter componentes adotados na especificação X3D provê um mecanismo que mantém aplicações compatíveis com X3D trabalhando juntas. Muitas novas características vão cair em componentes existentes, deste modo introduzindo novos níveis para estes componentes. Por haver empresas capazes de desenvolver componentes e submetê-los, o X3D força os avanços da indústria a serem rápidos e eficientes. Isto também garante que o X3D crescerá e florescerá, e não se tornará tecnicamente obsoleto, como o padrão anterior se tornou. Topo Para o que a utilização de components é boa? A seguinte lista enumera alguns dos benefícios que forma parte do trajeto atrás do esforço da componentização: Núcleo pequeno e leve – O VRML 97 é um padrão grande e complexo para implementar. Desmontando o VRML em pequenos núcleos de funcionalidade, nós facilitamos para o desenvolvedor implementar o X3D, reduzindo a complexidade da implementação e, portanto, melhorando a possibilidade de manutenção dessas implementações. Possibilidade de extensão – Através da idéia de extensão e pefis, é possível construir funcionalidades adicionais sobre o núcleo. Isto permite que novas características sejam facilmente adicionadas ou características existentes sejam trocadas com extensões alternativas. Foco vertical no mercado - Uma arquitetura extensível permite novas especificações ou perfis serem implementados sobre o núcleo do navegador. Por exemplo, nós temos grupos de trabalho especificamente para extender o X3D para se adequar a mercados como CAD-DCC, Medical VR e Visual Simulation. Reduzida necessidade de recursos - Isto é útil, por exemplo, no espaço de um set-top boxes, onde cada característica tem um custo. Aqui, a habilidade do uso de perfis possibilita ao navegador, com um pequeno consumo de espaço "footprint" ( e um correspondente pequeno conjunto de funcionalidades), é um requisito. Topo É verdade que nós como Box, ElevationGrid, etc. serão eliminados? Não, isto não é verdade. O X3D não está reduzindo funcionalidades: ele está particionando funcionalidades. É verdade que estes nós, provavelmente, não estarão no núcleo principal, porém eles serão implementados como uma extensão, como extensões do VRML 97. A razão disso é que o nós Box, Sphere, Cone, ElevationGrid, etc. não devem ser incluídos no Core, por que eles podem ser facilmente derivados de primitivas de baixo nível como o IndexedFaceSet. Isto simplifica o core, fazendo-o menor, mais fácil de implementar e mais fácil de manter. Topo O X3D é realmente apenas o VRML-Lite? Não. A noção de uma versão desmontada do VRML, afetuosamente chamada de VRMLLite, foi discutida por um tempo na lista de e-mail do VRML. A idéia foi reduzir este inchamento nos navegadores atuais, arrancando funcionalidades não essenciais. O X3D não arranca nenhuma funcionalidade – a noção de um Núcleo é talvez similar ao conceito do VRMLLite, porém a idéia toda do Núcleo X3D é que pode ser estendido para prover funcionalidades a mais. O X3D prove diversos níveis de funcionalidade através das várias definições de perfis (profile). Um desses perfis é chamado de Interchange e é dirigido especificam ente para ferramentas de criação de conteúdo digital (DCC) como AutoCAD, 3DSMax e Maya por trocar geometrias básicas sem nenhum modelo de execução. Este é um perfil de vários que incluem tudo. Topo Ferramentas e Aplicações Que ferramentas existem para suportar o X3D? Existe um grande número de ferramentas úteis relacionadas com o X3D, incluindo conversões stylesheet entre VRML97 e pacotes de edição baseados em XML para arquivos X3D. Este diagrama em PDF mostra várias das ferramentas XML disponíveis e suas relações com o X3D. Nossa base de dados de aplicações lista ferramentas de modelagem, visualização e desenvolvimento. Topo Eu realmente necessito usar o Maya/3DSMax/AutoCAD/etc para criar conteúdos X3D? Não, apenas estas ferramentas são excelentes para criar conteúdos de boa qualidade. Existem dois formatos de texto que você pode usar para criar o seu conteúdo, você ter seu ambiente favorito de edição um simples editor de texto. Se você está trabalhando neste nível, um bom entendimento de conceitos de computação gráfica é necessário, e para efeitos visuais avançados, como o uso de multitexturing, environment mapping, programmable shaders e mais, um conhecimento prático de programação gráfica 3D (p.e. OpenGL Direct3D etc) será uma vantagem. É esperado que ferramentas e conteúdo gerado automaticamente prevalecerá sobre conteúdos editados a mão. O time da especificação e as empresas trabalhando em torno do X3D já estão vendo que quase todo o conteúdo está sendo criado através de algum processo automático - como os sistemas da web e transformações stylesheet de outras linguagens baseadas em XML. Topo Existe um navegador X3D código aberto (Open Source)? Sim. O Source Working Group esta produzindo uma implementação código aberto (Open Source) escrita em Java chamada de Xj3D. Uma aplicação funcional está disponível hoje e tem sido testada sobre Linux, Solaris e Win32. Atualmente o navegador suporta a maior parte da especificação X3D, porém ainda não é uma versão 1.0. Existem outros esforços de implementações de código aberto (open source) para VRML97 que podem ser usados por desenvolvedores como bases para um navegador X3D, como o projeto OpenVRML. Topo Como posso fazer minha aplicação ler/gravar em X3D? Se você estiver usando uma das diversas ferramentas de modelagem, como 3DMax, Maya ou uma ferramenta CAD, é provável que sua aplicação tenha um exportador VRML97 ou X3D disponível. Muitos destes ainda são baseados em prévias versões do X3D ou gravam arquivos VRML97 inválidos. Para retificar este problema, o Source Working Group está num processo de escrever ou reescrever exportadores para estes pacotes de modelagem mais populares. Topo Como sei que uma aplicação realmente suporta a especificação X3D? O consórcio está atualmente juntando um extenso conjunto de testes de conformidade. Produtos que passarem nos testes de conformidade serão capazes de se julgarem compatíveis com a especificação X3D. Os detalhes finais dos testes, custos e processo serão publicados em breve. Topo Onde posso encontrar ferramentas para converter meu conteúdo VRML97 em X3D? Nossa base de dados de aplicações lista ferramentas de modelagem (authoring), utilitários para conversão de arquivos e ferramentas de desenvolvimento. Topo Questões específicas de XML Por que se preocupar com Extensible Markup Language (XML)? O XML foi adotado como sintaxe para o X3D para resolver um grande número de problemas reais: Rehostability – A sintaxe do VRML 97 é estranha para todos com exceção da comunidade do VRML. Ela é similar a sintaxe do grafo de cena do Open Inventor, na qual foi baseada e algumas notações de objetos. Todavia, a sintaxe dominante na Web é o XML. Linguagens de marcações tem provado ser a melhor solução para o problema de um longo ciclo de vida de arquivamento de dados e reanfitrializar (rehosting). Integração de páginas – Integração baseada em páginas XML vai direto ao problema de manter o sistema mais simples, assim mais pessoas podem desenvolver páginas web, tanto em conteúdo como implementações. Integração com a web da próxima geração – Os membros do World Wide Web Consortium (W3C) estão se esforçando muito no desenvolvimento do XML. Extensível suporte ao XML é esperado na última versão do Mozilla e do Internet Explorer.. Suporte a completo conjunto de ferramentas - O X3D, como um formato que define informações visuais, é tipicamente o último estágio em uma linha de produção. Usando um conjunto de ferramentas disponíveis, como stylesheets, você pode trabalhar em qualquer formato nativo XML que você queira, e ver que uma representação 3D é tão trivial quanto um processo de transformação. Por exemplo, existe transformações já em uso para a visualização de Chemical Markup Language (CML), MathML e diversas outras linguagens XML preparadas. Topo Existe uma Document Type Definition (DTD) para X3D aceita? Sim. Ele é definido como parte do padrão. A URL do DTD é: <URL> Topo Existe um Schema para X3D aceito? Sim. Ele é definido como parte do padrão. A URL do Schema é: <URL> Topo O que mais existe sobre outras tecnologias relacionadas ao XML? O consórcio está estudando vários outros padrões W3C relacionados com o XML. Tecnologias que são de particular interesse para o esforço do X3D incluem: SMIL (Synchronized Multimedia) SVG (Scalable Vector Graphics) XHTML (the W3C's XML-ization of HTML) O consórcio Web3D é um mebro do W3C e por esta virtude o grupo de trabalho do X3D é capaz de acompanhar de perto o processo em cada uma dessas áreas, juntando a melhor forma de proceder em cada caso. Topo Como marcas XML podem ser integradas ao navegador web? Uma vez criado um conjunto de XML tags, dependendo de como o navegador utiliza o XML, você pode incorporá-lo através de um dos seguintes esquemas: Stylesheet: Um arquivo XML é usado diretamente. Internamente, isso será uma referência para um arquivo em linguagem stylesheet como o XSL. O arquivo XSL terá instruções para mostrar as XML tags. Ilhas de dados: Os valores do XML estão presos a outro arquivo (e.g., HTML) para nomear tags como as tabelas, divs, etc do HTML. Isto significa que o XML será incluído por valor ou referência no documento, e os valores dentro das tags serão usados por HTML tags. Esta é uma solução específica Microsoft. Suporte por plugin: Esta é uma forma onde uma tag de um objeto está sendo usada inline para indicar onde o código de suporte pode ser encontrado, parâmetro a passar, etc. Suporte ao objeto direto: O navegador Web provê suporte nativo para as tags por aumentar seu modelo de objetos a lidar com esses especificamente. Obviamente, a menos que o navegador seja extensível pelos autores, as tags e suas implementações serão presas ao código dentro do navegador. Topo Quantos acrônimos de três letras vou ter de conhecer para poder usar o X3D? Ou talvez: Os autores de X3D necessitarão conhecer como escrever suas DTDs (Document Type Definitions), CSS (Cascading Stylesheets), XSL (Extensible Stylesheets), etc.? A resposta curta é não. Todo este trabalho é uma responsabilidade do X3D Task Group. A especificação X3D define uma DTD para o X3D que terá correspondência um para um com os nós e campos do VRML 97. Autores usam estas tags definidas e, portanto, não precisam desenvolver suas próprias DTDs. Tradutores estão sendo construídos para converter arquivo VRML em arquivo X3D, de forma que qualquer ferramenta de modelagem VRML possa continuar sendo usada. Programas de código aberto exemplar para leitura/importação/exportação do X3D será provido para encorajar criadores de ferramentas 3D para facilmente adicionar importadores/exportadores X3D próximos aos seus importadores/exportadores VRML. Topo Onde posso conseguir mais informações sobre o XML? Aqui estão algumas fontes úteis que você deve usar para começar: <URL> <URL> <URL> <URL> Topo Processo e status de desenvolvimento Quem está desenvolvendo o X3D? O núcleo da especificação do X3D está sendo ativamente desenvolvida pelo X3D Specification Working Group. Adicionalmente extensões para vários formatos de mercado estão sendo desenvolvidos por grupos de trabalhos específicos. Por exemplo, os grupos de trabalho do CAD e Medical estão escrevendo extensões para suas respectivas indústrias, enquanto que o grupo de trabalho de Shader estão adicionando as capacidades gerais do shaders programáveis. Topo Existe uma especificação do X3D? Sim. As várias especificações estão em diferentes níveis no processo de aprovação da ISO. Você pode encontrar a versão pública atual aqui. Topo Qual é a situação da especificação do X3D? A especificação da abstração (19775:200x) está atualmente em andamento para as votações finais dentro da ISO. O texto da proposta da especificação internacional final está aguardando o sim ou não da votação final. Uma vez que isto esteja completo e nós tenhamos a aprovação, então o ISO irá publicar formalmente a especificação. Nós esperamos que isto ocorra nos meados de 2004. As outras duas especificação (19776 e 19777) estão sobre um processo de edição. Elas estão ambas em um estágio DIS (Draft International Specification), o que põe ela cerca de 6 meses atrás da especificação da abstração. Enquanto nós estamos finalizando a edição do documento e comentando, nós estamos esperando pelo texto final para ser reunido com o ISO antes de coloca-lo no último processo da ISO. Nós esperamos que o texto esteja disponível para os membros do consórcio, cerca de Abril-Maio e o carimbo final da ISO no fim de 2004 ou início de 2005. Topo Existe uma implementação exemplo ou referencia? O navegador Open Source Xj3D (código aberto) e exemplos são boas fontes para implementação. Topo Qual é o custo da licença para usar o X3D? O X3D é um padrão aberto que não tem royalties associados com ele - você pode usar livremente aonde você quiser. O Consórcio Web3D tem a política de não requisitar nenhum limite de Propriedade Intelectual para a tecnologia e um acordo com a ISO para publicar a especificação para o público sem nenhum custo.. Uma certificação e Programa de Teste de Conformidade está atualmente sendo definido. Testes de conformidade terão um custo associado. O programa de conformidade para a especificação do X3D tem o objetivo de prover consistência e confiabilidade para as implementações que suportem X3D pelos diversos vendedores das múltiplas plataformas, e para criar uma definição objetiva de conformidade com o padrão X3D. Somente produtos que passe pela conformidade poderão usar a marca registrada X3D. Topo Posso ajudar com o desenvolvimento do X3D? Existem várias formas de ajudar - desde o simples ato de adotar o uso do X3D em seu ambiente diário de trabalho até trabalhar ativamente em uma ou mais especificações. Para poder trabalhar na especificação e ter acesso as propostas atuais, você precisa ser um membro do consórcio Web3D. Uma das melhores formas de ajudar é se envolver com as ferramentas de apoio - escrevendo importadores e exportadores para X3D. O Source Working Group tem diversos projetos nesta frente e adoraria sua ajuda técnica. Para participar, por favor preencha esta ficha.