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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值