Appearance

外观定义了完整的glsl顶点和片段明暗器以及用于绘制Primitive的渲染状态。所有外观都实现了这个基Appearance接口。
new Appearance(options)
Parameters:
options (Object)
Name Description
options.translucent
Boolean
default true
true时,几何体将显示为半透明,因此Appearance#renderState启用了alpha混合。
options.closed
Boolean
default false
true时,几何图形将关闭,因此Appearance#renderState启用背面剔除。
options.material
Material
default Material.ColorType
用于确定片段颜色的材质。
options.vertexShaderSource
String
可选的glsl顶点明暗器源覆盖默认的顶点明暗器。
options.fragmentShaderSource
String
可选的glsl fragment shader source覆盖默认的fragment shader。
options.renderState
RenderState
可选的渲染状态以覆盖默认的渲染状态。
See:

Members

(readonly) closed : Boolean

true时,几何图形应关闭。
Default Value: false

(readonly) fragmentShaderSource : String

片段明暗器的glsl源代码。完整片段明暗器源是按照程序构建的,考虑到Appearance#material。使用Appearance#getFragmentShaderSource获取完整源。

material : Material

用于确定片段颜色的材质。与其他Appearance属性不同,这不是只读的,因此外观的材质可以随时更改。

(readonly) renderState : Object

呈现几何图形时要使用的WebGL固定函数状态。

translucent : Boolean

true时,几何体将显示为半透明。
Default Value: true

(readonly) vertexShaderSource : String

顶点明暗器的glsl源代码。

Methods

getFragmentShaderSource() → {String}
程序为该外观创建完整的glsl片段明暗器源,考虑到Appearance#fragmentShaderSourceAppearance#material
getRenderState() → {Object}
创建渲染状态。这不是最终的渲染状态实例;相反,它可以包含与上下文中创建的渲染状态相同的渲染状态属性的子集。
isTranslucent() → {Boolean}
确定几何图形是否基于Appearance#translucentMaterial#isTranslucent半透明。