6 マテリアル
この章では、JavaFX 3Dグラフィックス・ライブラリのMaterialクラスについて説明します。
Materialクラスには、レンダリング・プロパティのセットが含まれています。例6-1に、Materialのクラス階層を示し、PhongMaterialクラスがMaterialクラスからサブクラス化されることを示します。
例6-1 Materialのクラス階層
java.lang.Object javafx.scene.paint.Material (abstract) javafx.scene.paint.PhongMaterial
PhongMaterialクラスによって、フォン・シェーディングされたマテリアルのフォームを表すプロパティの定義が提供されます。
-
拡散色
-
拡散マップ
-
鏡面反射マップ
-
鏡面反射色
-
鏡面反射強度
-
バンプ・マップまたは法線マップ
-
自己照明マップ
マテリアルは、複数のShape3Dノード間で共有できます。
例6-2に、PhongMaterialオブジェクトを作成し、そのdiffuseMapプロパティを設定し、図形に対してマテリアルを使用する方法を示します。
例6-2 マテリアルの使用
//Create Material Material mat = new PhongMaterial(); Image diffuseMap = new Image("diffuseMap.png"); Image normalMap = new Image("normalMap.png"); // Set material properties mat.setDiffuseMap(diffuseMap); mat.setBumpMap(normalMap); mat.setSpecularColor(Color.WHITE); // Use the material for a shape shape3d.setMaterial(mat);
MSAAApp.javaアプリケーションおよびbuildMolecule()メソッドによって、PhongMaterial APIの使用方法が示されます。どちらも付録のセクションにあります。