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

共享同样的NodeComponent可以提高性能.例如,如果几个Appearance组件共享同样的需要锯齿化的LineAttributes组件, Java 3D渲染引擎将决定将锯齿化组在一块进行(group the antialiased wire frame shapes together).这将最小程度打开锯齿化开关,从而提高程序性能.注意到一个结点可以有一个或多个双亲.尽管如此,一旦NodeComponents被引用,它们就不再是结点对象类型.因为其不再具有任何真正意义上的双亲.因为, NodeComponent对象可能任何数目的其它对象被共享(引用).
本节讨论了上面曾提及的能被Appearance对象所引用的Attribute NodeComponent子类的六种属性.而纹理属性则将在第7章涉及.
PointAttributes
PointAttributes对象管理着点基本图形如何渲染.默认的情况下,如果一个顶点被渲染成为一个点,其就是用一个象素来填充的.你可以用setPointSize()方法来使这个点更大.尽管如此,默认情况下的这个大点看起来象个方形,除非你调用了setPointAntialiasingEnable()方法来锯齿化点.这个操作通过改变象素点的颜色来使点看起来”更圆”(至少是没有那么方了)
PointAttributes 构造函数
PointAttributes()
来构造一个组件对象来描绘一个没有经过锯齿化的1个象素大小的点.
PointAttributes(float pointSize, boolean state)
通过指定点象素尺寸大小和是否允许锯齿化来构造一个组件对象.
PointAttributes方法
void setPointSize(float pointSize)
设置点的尺寸.
void setPointAntialiasingEnable(boolean state)
设置点是否允许锯齿化.只有当点尺寸 >= 1象素时才有效果.
LineAttributes
LineAttributes对象可以将线基本图形的渲染过程在三个方面和进行设置.默认地,线被绘制成为实线,一个象素宽,并且没有锯齿化.(是平滑效果)你可以通过调用如下三个方法来改变这些属性.它们是setLinePattern(), setLineWidth(), 和 setLineAntialiasingEnable().
【作者: wuxingblog】【访问统计:】【2005年11月5日 星期六 23:38】【 加入博采】【打印】
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=3430381
[2005-10-22 23:54:29.0] Java 3D API 官方教程:2.6 表面和属性[翻译]
[2005-10-29 10:45:15.0] 我打算学JAVA
[2005-11-05 19:25:02.0] Java学习感受
[2005-11-02 16:41:36.0] 70个JAVA问答
[2005-10-30 01:43:25.0] Java(TM) Programming Language