Mobile 3D Graphics API

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Wikitext.svg
Este artigo ou seção precisa ser wikificado (desde fevereiro de 2012).
Por favor ajude a formatar este artigo de acordo com as diretrizes estabelecidas no livro de estilo.
Question book.svg
Esta página ou secção não cita nenhuma fonte ou referência, o que compromete sua credibilidade (desde fevereiro de 2012).
Por favor, melhore este artigo providenciando fontes fiáveis e independentes, inserindo-as no corpo do texto por meio de notas de rodapé. Encontre fontes: Googlenotícias, livros, acadêmicoScirusBing. Veja como referenciar e citar as fontes.

A Mobile 3D Graphics API (M3G), define rotinas de baixo e alto nível para tornar eficiente e criar iteratividade de gráficos 3D para dispositivos móveis com pouca memória e poder de processamento, sem suporte de hardware ou para operações com pontos flutuantes. Embora a definição faça menção a dispositivos sem suporte de hardware para 3D, praticamente, só os dispositivos que implementam alguma função nativa da API 3D conseguem uma velocidade de renderização aceitável. Os celulares antigos da Nokia, por exemplo, utilizam uma implementação nativa da OpenGL ES, uma versão simplificada da OpenGL, para aumentar a velocidade de carga, das rotinas de renderização e detecção de colisão. As outras fabricantes estão implementando estruturas similares. A evolução da tecnologia é rápida criando aparelhos com o triplo de processamento em questão de meses.

A M3G foi especificada para as versões MIDP 2.0 e CLDC 1.1. O CLDC é uma configuração que define os recursos da máquina virtual e as bibliotecas principais para J2ME, enquanto o MIDP é um perfil para dispositivos portáteis definindo APIs como a de interface com o usuário, redes e conectividade, armazenamento, entre outros. Quando esta monografia estava sendo escrita estes recursos só existiam em celulares caros, deixando uma grande parcela da população com versões mais antigas do Java em seus celulares e impossibilitando o uso da API 3D.

O grupo que definiu a JSR 184 (M3G), definiu um conjunto das capacidades que a API deve suportar:

  • trabalhar em retained-mode, importando os grafos de cena de algum lugar, ou em immediate-mode, permitindo ao desenvolvedor criar seus próprios grafos de cena;
  • a API deve importar Meshes (Objetos 3D), texturas e grafos de cena;
  • os dados devem estar em formato binário para diminuir o tamanho do armazenamento e a transmissão;
  • deve ser possível implementar a API sobre a OpenGL ES, sem recursos de ponto flutuante de hardware;
  • deve implementar algum meio de existir valores com ponto flutuante para evitar erros de imagem;
  • ROM e RAM ocupadas devem ser mínimas. A API deve ocupar menos de 150 KB;
  • deve implementar garbage collection;
  • deve ser interoperável com outras API Java, especialmente o MIDP.

A API está definida e deve ser implementada dentro do pacote javax.microedition.m3g contendo 30 classes.