Java 3D
| Java 3D | |
|---|---|
| Dados básicos
| |
| desenvolvedor | Sun Microsystems |
| Versão atual | 1,5 |
| sistema operacional | plataforma independente |
| Licença | Licença BSD (j3d-core-utils, j3d-examples), GNU General Public License (j3d-core, vecmath) |
| java3d.java.net | |
Java 3D é uma biblioteca de classes Java para criar, manipular e exibir gráficos tridimensionais em programas e miniaplicativos Java. Com Java 3D, objetos tridimensionais podem ser modelados e renderizados e o comportamento e a visualização podem ser controlados por um programa Java .
Java 3D foi desenvolvido pela Sun Microsystems desde 1997 . A versão 1.0 apareceu em dezembro de 1998. A versão 1.4 está disponível desde março de 2006. Um recurso de desempenho importante aqui é a possibilidade de programação de shader para o hardware gráfico atual. A versão 1.5 introduziu o pipeline de renderização JOGL , entre outras coisas, para todas as plataformas.
Depois que a Sun interrompeu o desenvolvimento adicional nesse meio tempo, a biblioteca foi lançada como código aberto desde o verão de 2004 . Atualmente, existem versões disponíveis para OpenGL para sistemas Windows e várias plataformas UNIX, bem como uma versão para Direct3D no Windows 9x, Windows 2000 e Windows XP. Para Mac OS X existe uma versão para JDK 1.4 (até 10.3), o JDK 1.5 para Mac OS X (10.4) já contém Java 3D (na versão 1.3). Java 3D versões 1.5 e 1.6 estão disponíveis para Windows, Linux, Solaris e Mac OS X.
Gráfico de cena
Java 3D encapsula a funcionalidade da interface JOGL ( OpenGL - ou DirectX na versão 1.5) subjacente em um conceito de programa orientado a objetos facilmente compreensível com base em um gráfico de cena . No gráfico de cena, a estrutura lógica dos objetos a serem exibidos é mapeada em uma estrutura semelhante a uma árvore com estrutura semelhante, que consiste essencialmente em definições de transformações e dados geométricos. A visualização da cena estruturada desta forma permite um manuseio confortável dos objetos. A integração de uma paisagem sonora no gráfico de cena também é possível.
A biblioteca implementa objetos e métodos para a representação de uma cena e usa apenas bibliotecas de funções pré-implementadas adaptadas ao respectivo sistema operacional para sua representação. Isso significa que o hardware de vídeo usado no sistema é usado para exibir todos os objetos criados. A velocidade de renderização alcançável é potencialmente semelhante à da programação direta com C e OpenGL ou Direct3D. Portanto, é possível desenvolver cenários 3D poderosos que podem ser visualizados na GUI .
Java 3D não fornece acesso direto às funções OpenGL ou Direct3D. Os recursos dessas interfaces, que não são encapsulados por Java 3D, não podem ser usados por programas de aplicativos baseados em Java 3D. Devido ao constante desenvolvimento do hardware de vídeo, isso levou repetidamente ao fato de que os novos recursos suportados no Java 3D só estavam disponíveis com um atraso ou nem chegavam.
Sistema de coordenadas
A orientação dos eixos espaciais em Java 3D forma um sistema de coordenadas para destros . Na nomenclatura Java 3D, o espaço abrangido dessa forma é conhecido como universo virtual . Apenas este sistema de coordenadas é fornecido, não há possibilidade de atribuir uma orientação diferente aos eixos.
Os chamados objetos Locales possibilitam o uso de um sistema de coordenadas muito preciso: essas coordenadas, que são implementadas como números de ponto fixo de 256 bits , permitem calcular todos os objetos em um sistema de coordenadas do nível atômico ao macrocosmo . Isso simplifica o uso da API para muitos aplicativos científicos.