首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JavaFX 3D一部分介绍(1) 3D Shape

2013-10-08 
JavaFX 3D部分介绍(1) 3D Shape声明:本博客文章原创类别的均为个人原创,版权所有。转载请注明出处: http://

JavaFX 3D部分介绍(1) 3D Shape

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


  众所周知,3D模块是JavaFX 8中非常重要的组成部分。而在JavaFX 8的目前版本中,JavaFX 3D的各种特性也在陆续添加中。下面,我来对JavaFX 8中现有的3D部分进行简单的介绍。


 3D Shapes

  JavaFX 3D Graphics目前提供了对3D Shape的创建。其中包括,内置定义的3D物体,和用户自定义的3D物体。

  内置的3D物体包括:boxes,cylinders和spheres。其实还是很少的,如下图所示:

  JavaFX 3D一部分介绍(1) 3D Shape


  其中,类的继承结构如下:

  

java.lang.Object  javafx.scene.Node     javafx.scene.shape.Shape3D        javafx.scene.shape.MeshView        javafx.scene.shape.Box        javafx.scene.shape.Cylinder        javafx.scene.shape.Sphere

  Box,Cylinder,Sphere都是继承与Shape3D,而且还是Node的子类。由此可见,3D的物体可以直接作为普通Node节点来使用。

  创建起来,也是非常的简单。

  

  int smoothingGroups[] = { … };  mesh.getFaceSmoothingGroups().addAll(smoothingGroups);

   

  不论这个面是smooth还是faceted,Smoothing group都会调整上面的顶点的法线。如果,每个单独的面都有一个相同的Smoothing group,那么这个mesh将会变得非常的光滑,否则,则相反。


------------------------------------------------------------------

  有一段时间没有写博客了,工作的中心由android转为Unity3D了,所以最近一直在做Unity3D相关的。抽空看了下JavaFX 3D API,在这里就做一点简单的评价,JavaFX 3D API 没有Unity3D方便,但比Unity3D自由一些(例如可以自定义3D物体,自定义顶点数组,纹理映射等),没有OpenGL自由(封装过的必然缺陷),但比OpenGL方便简单些(不用写那么多看得头晕的GL函数),属于折中的情况。大家可以根据自己的情况来使用。

------------------------------------------------------------------

  

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


热点排行