`

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics