文档



JavaFX:使用JavaFX图形

6 材料

本章介绍了JavaFX 3D图形库的Material类。

Material类包含一组渲染属性。 示例6-1显示了Material类的层次结构,PhongMaterial类是从Material类派生的子类。

示例6-1 Material类层次结构

java.lang.Object
  javafx.scene.paint.Material (抽象)
     javafx.scene.paint.PhongMaterial

PhongMaterial类提供了表示Phong着色材料的属性定义:

  • 漫反射颜色

  • 漫反射贴图

  • 镜面贴图

  • 镜面颜色

  • 镜面功率

  • 凹凸贴图或法线贴图

  • 自发光贴图

材料可以在多个Shape3D节点之间共享。

示例6-2展示了如何创建PhongMaterial对象,设置其diffuseMap属性,并将材料用于形状。

示例6-2 使用材料

//创建材料
Material mat = new PhongMaterial();
Image diffuseMap = new Image("diffuseMap.png");
Image normalMap = new Image("normalMap.png");

// 设置材料属性
mat.setDiffuseMap(diffuseMap);
mat.setBumpMap(normalMap);
mat.setSpecularColor(Color.WHITE);

// 将材料用于形状
shape3d.setMaterial(mat);

MSAAApp.java应用程序和buildMolecule()方法展示了如何使用PhongMaterial API。两者都在附录部分提供。

关闭窗口

目录

JavaFX: 使用JavaFX图形

展开 折叠