外观定义了完整的glsl顶点和片段明暗器以及用于绘制
new Appearance(options)
Primitive
的渲染状态。所有外观都实现了这个基Appearance
接口。
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
|
可选的渲染状态以覆盖默认的渲染状态。 |
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#fragmentShaderSource
和Appearance#material
。
创建渲染状态。这不是最终的渲染状态实例;相反,它可以包含与上下文中创建的渲染状态相同的渲染状态属性的子集。
确定几何图形是否基于
Appearance#translucent
和Material#isTranslucent
半透明。