JavaFX 3D部分介绍(4) Materials

  声明:   本博客文章原创类别的均为个人原创,版权所有。转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客: http://www.wjfxgame.com

  这一节中,我们将会讲述 JavaFX 3D API中的材质。

  Material材质中包含了一系列的渲染属性。下面我们来看看它的类结构。

  

java.lang.Object
  javafx.scene.paint.Material (abstract)
     javafx.scene.paint.PhongMaterial

  PhongMaterial类提供了材质着色的一系列属性的定义。

  •   Diffuse color
  •   Diffuse map
  •   Specular map
  •   Specular  color
  •   Specular  power
  •   Bump map or normal map
  •   Self-illumination map

   这里就不做解释了,主要是Shader中的一些什么高光,自发光等的Shader效果。具体请自行查阅相关资料。

   Materials是可以在多个Shape3D的节点共用的。


   下面我们来看看,如何创建一个材质,并设置属性然后应用到我们的3D物体上。

    

//创建材质
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上
shape3d.setMaterial(mat);

    这样我们就可以将材质应用到我们的3D物体上了。当然,由于JavaFX 3D还是在开发中的API。材质属性跟Unity3D相比还是差太多(不算Unity3D的插件)。

    所以现阶段,只做研究,不应该考虑用JavaFX 3D来进行开发。

   

    本博客文章原创类别的均为个人原创,版权所有。转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客:http://www.wjfxgame.com

  

你可能感兴趣的:(java,JavaFX,JavaFX3D)