Využití JavaFx při tvorbě grafických aplikací

3D Scény

JavaFX aplikace mohou obsahovat 3D obsah. Při tvorbě této kapitoly čerpáno z oficiálního tutoriálu.

oblast zabíraná kamerou

Tvorba a použití 3D těles

Při tvorbě 3D scény je možné použít předdefinovaná 3D tělesa, a to kvádr (třída Box), kouli (Sphere) a válec (Cylinder). Vlastní těleso je možné vytvořit pomocí třídy TriangleMesh. Materiál tělesa je reprezentován třídou PhongMaterial. Pomocí této třídy je možné nastavit difúzní a lesklou barvu tělesa, aplikovat na těleso texturu apod. [6.2]

Do aplikace je také možné importovat tělesa vytvořená v programech specializujících se na 3D modelování. Jedním z těchto programů je Autodesk Maya. Problematikou importu těles se zabývá projekt InteractiveMash.

Práce s kamerou

Kameru je možné posouvat a otáčet ve směru os x, y a z. Slouží k tomu metody třídy Node, od které je PerspectiveCamera (nepřímo) odvozená. Osu, podle které je otáčení prováděno, je možné definovat pomocí metody setRotationAxis(). Dále je možné nastavit zorný úhel kamery (ve stupních), a to metodou setFiledOfView(). Defaultní zorný úhel je 30°.

oblast zabíraná kamerou

Práce se světlem

Zdroje světla jsou reprezentovány Uzly AmbientLight (ambientní světlo) nebo PointLight (světlo vycházející z bodu). Světla se do Scény přidávají stejným způsobem jako 3D tělesa, tedy přidáním do seznamu potomků některého z Uzlů Scény, obvykle kořenového.