声明: 本博客文章原创类别的均为个人原创,版权所有。转载请注明出处: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。