sexta-feira, 16 de abril de 2010

Java3D - Como esta po$#@ funciona?

Bom ,Esse minha primeira postagem.
Vou estar falando um pouco sobre o meu TCC
que estou desenvolvendo em Java3D e minhas
experiencias com ela.

Primeiro,foi até simples o entendimento de como trabalha o Java3D
Mas antes de mais nada vamos falar um pouco sobre o que é Java3D
antes de partir pro pesado....


Bom,Java 3D é uma API Java visando a manipulação de objetos 3d dando uma base bem interessante de classes para esse fim.

Confesso que tive um pouco de problemas no começo pra programar em Java3d mas percebi que ele é bem alto nivel ,onde você não precisa de muito trabalho para fazer algo relativamente simples.

Como ja me disseram,quando estava indeciso em qual API usar, Java3D puramente ou incluir o OpenGL ,sendo que o OpenGL tem um qualidade de imagem muito boa mas muita coisa deve ser implementada na mão , e vendo tudo isso decidi usar Java3d

A figura ao lado (ou quase ;] ) detalha um pouco a estrutura de como funciona a API ,sendo que temos na raiz da árvore um nó chamado SimpleUniverse, que da a base para o funcionamento de tudo, Temos o Locale que ... , sinceramente nunca cheguei a mexer nesta parte, e mais abaixo BranchGroup ou TransformGroup, no Branchgroup que colocamos a parte de Geometria,Iluminação ,Som (nunca cheguei a forma como é implementada), Aparencia e Behaviors(Comportamento, ou simplismente como ele faz a interação,falarei um pouco depois em um post futuro ), e No TransformGroup colocamos a orientação,movimentação e outras coisas relacionadas ao movimento.
Mais abaixo temos o nodo Leaf, que pode ser qualquer coisa (Branchgroup,TransformGroup, ou um Shape3D.

No ramo da Viewplataform,Temos outros nodos que pra mim não foram relevantes pois nunca cheguei a necessitar mexer com eles,A viewplataform vc pode definir paramentros para sua câmera ,como Behaviors,Posicionamento e orientação.
Eu cheguei neste nivel ,pois implementei uma classe que me da uma solução para transformações
e implementei um nivel de camera primeira pessoa,respondendo a comandos do teclado.

Ps: Vi certas classes prontas dentro da API java3d mas preferi fazer as minhas pois a gente aprende um pouco e ve como funciona as outras.

Bom isso é tudo por Hoje.
Sugestões e Duvidas?
marcel.nagm@gmail.com