博客网 >

2.6.2 共享NodeComponent对象

几个不同的对象引用,因此共享相同的NodeComponent对象是合法,甚至是必要的.例如如图2-21所示,两个Shape3D对象引用了同一个Appearance组件,同时,不同的两个Appearance 对象共享着同一个LineAttributes组件.

共享同样的NodeComponent可以提高性能.例如,如果几个Appearance组件共享同样的需要锯齿化的LineAttributes组件, Java 3D渲染引擎将决定将锯齿化组在一块进行(group the antialiased wire frame shapes together).这将最小程度打开锯齿化开关,从而提高程序性能.注意到一个结点可以有一个或多个双亲.尽管如此,一旦NodeComponents被引用,它们就不再是结点对象类型.因为其不再具有任何真正意义上的双亲.因为, NodeComponent对象可能任何数目的其它对象被共享(引用).

2.6.3 Attribute

本节讨论了上面曾提及的能被Appearance对象所引用的Attribute NodeComponent子类的六种属性.而纹理属性则将在第7章涉及.

PointAttributes

PointAttributes对象管理着点基本图形如何渲染.默认的情况下,如果一个顶点被渲染成为一个点,其就是用一个象素来填充的.你可以用setPointSize()方法来使这个点更大.尽管如此,默认情况下的这个大点看起来象个方形,除非你调用了setPointAntialiasingEnable()方法来锯齿化点.这个操作通过改变象素点的颜色来使点看起来更圆”(至少是没有那么方了)

PointAttributes 构造函数

PointAttributes()

来构造一个组件对象来描绘一个没有经过锯齿化的1