Extrait du cours langage Java 3D techniques de programmation graphique
Qu’est-ce-que Java 3D ?
API en Java utilisant les techniques de programmation graphique 3 dimensions. Le package J3D utilise notamment les graphes de scènes (VRML) et la spacialisation du son (OpenGL, Direct3D …)Indépendant du Hardware Deux parties :
Les spécifications de l’API
L’implémentation (Avril 99 par Sun)
Sun encourage les développeurs à implémenter directement J3D au niveau du Hardware (carte dédiée) Le package Java3D ne fait pas partie du standard Java
Différences entre Java3D et OpenGL, Direct3D, PHIGS …
API Java3D se situe au même niveau que OpenGL, PHIGS … et peut être utilisée sur les mêmes systèmes (UNIX, Windows …) Java3D est conçu pour être directement implémenté au niveau du Hardware mais à l’heure actuelle, il utilise Open GL pour faire l’interface entre le langage Java et la machine .
L’ environnement de développement logiciel Le SDK de Sun
pour tester, aller dans les répertoires de programmes test :
cd REPERTOIRE_D_INSTALLATION/Java3D/examples/REP_TEST (pourWindows)
javac *.java
java PROGRAMME_TEST ou appletviewer FICHIER_TEST.html
Pour exécuter ces programmes, il faut parfois les lancer avec les options :
pour java : java -mx64m
pour appletviewer : appletviewer -J-mx64m
Bien avoir le répertoire . dans CLASSPATH.
Les applications Java J3D fonctionnent ainsi que les applets avec appletviewer.
Les applets ne fonctionnent pas encore dans les browsers.
Structure d’un programme Java3D
Un programme Java3D décrit un graphe de scène ou « monde virtuel ». Celui-ci indique :
les objets 3D composant la scène les attributs de chacun de ces objets (formes, couleur, texture, réflexion du matériau, …)
ainsi que leurs attributs de comportement (positionnement, mouvement, …)
la perspective de visualisation (le point d’observation, l’éclairage, …)
Ce graphe est décrit par une arborescence qui est parcouru par le moteur 3D lors de l’exécution Cette arborescence commence par un objet VirtualUniversequi contient un objet Locale décrivant un système de coordonnées haute résolution. Dans ce système de coordonnées, sont alor
ajoutés les objets 3D (Shape3D) en décrivant leur forme (Geometry) et leur Appearance (couleur, texture, etc.), leurs manipulations possibles par l’utilisateur du programme (Behavior) ainsi que le point de vue d’observation (ViewPlatform).
Java et VRML
J3D : code compilé
VRML : code interprété
VRML Consortium et Sun ont travaillé ensemble pour écrire un package permettant d’interfacer Java3D et VRML
Deux manières d’interfacer Java et VRML :
on utilise un visualiseur VRML : on peut appeler des applets Java dans le code VRML (EAI)
on utilise un visualiseur indépendant (écrit en Java) : on peut appeler des scènes VRML dans le code Java
…….
Cours langage Java 3D techniques de programmation graphique (711 KO) (Cours PDF)