JAVA3D-2

1.基本图形

类图

image

1.1 Cone类

     默认生成一个高2,底为1的圆锥

1.2 Box类

     生成一个可视的3D长方体,长宽高都是2米,中心在原点

1.3 Shpere类

     一个园心在原点的球

1.4 Cylinder类

     圆柱形,中间位于原点,高与Y轴平行

1.5 ColorCube类

      ColorCube类可以跟基本几何体对比,根基本几何体继承结构不一样,他是继承自Shape3D

image

        此类是惟一随Java3D API发布的允许程序员忽略颜色和灯光问题的类.

 

2. 基本几何体的高级主题

     Primitive是Box,Cone,Cylinder和Sphere的父类, Primitive定义了其子类共有的方法跟域,还有这些域, Primitive类提供了一个同样尺寸的基本几何体之间共享Geometry节点的方法. 默认的,所有同一尺寸的基本几何体共享同一个几何节点, Primitive类中有一个叫GEOMETRY_NOT_SHARED指明该几何几创建的时候是不是允许被其他几何体共享的.

3.能力跟性能

   Java3D系统转化到内部表示法:

编译每一个分支图(BG对象有一个Compile方法,调用后,Java3D系统将会把位于该BG对象下的整个分支图转化为Java3D的内部表示法, 比如:优化沿着场景图中路径合关TG对象, 当能力没有设置的时候,这些优化是可能的)

将分支图插入到虚拟世界以使它处于激活状态

     3.1

       一旦分支图被激活或者是编译,Java3D渲染系统就会将分支图转化为更有效的内部表示法.

image

       有的情况下,在场景被激活后程序还需要改变对象的值,这种变换必须有能力在被激活后改变,也就是说这些参数是可以访问并且可以被修改的,这种对对象参数的访问就是对象的能力.

        每一个SceneGraphObject都有一组能力位,决定对象激活后有的能力.SceneGraphObject几乎所有创建场景图类的父类,这些类包括Group,Leaf,NodeComplonent,假如要读取一个TG对象的变换值,那么它在被编译或者激活前,这个能力一定要被设置过.

 

TG的两个能力

ALLOW_TRANSFORM_READ: 指明该TG节点允许访问它的变换信息

ALLOW_TRANSFORM_WRITE: 可写

posted @ 2009-10-20 00:06  refeiner  阅读(498)  评论(0编辑  收藏  举报