new Appearance()
用于控制 Primitive(图元)可视化效果类。通过定义 GLSL 着色器程序、材质属性和渲染状态实现几何体的着色与渲染。
| Name | Type | Default | Description |
|---|---|---|---|
options.translucent |
Boolean | true |
可选
当 |
options.closed |
Boolean | false |
可选
当 |
options.material |
Material | Material.ColorType |
可选
用于确定片段颜色的材质。 |
options.vertexShaderSource |
String |
可选
可选的 GLSL 顶点着色器源代码,用于替换默认的顶点着色器实现。 |
|
options.fragmentShaderSource |
String |
可选
可选的 GLSL 片段着色器源代码,用于替换默认的片段着色器实现。 |
|
options.renderState |
RenderState |
可选
可选的呈现状态,替换默认呈现状态。 |
Members
-
readonly closedBoolean
-
当为true时,几何体应为闭合结构。
- Default Value: false
readonly fragmentShaderSourceString
片段着色器的GLSL源代码。考虑到Appearance#material,完整的片段着色器源代码是按程序构建的。使用Appearance#getFragmentShaderSource获取完整的源代码。
materialMaterial
用于确定片段颜色的材质。
与外观Appearance的其他属性不同,此属性非只读,因此外观的材质可实时动态修改。
readonly renderStateObject
在渲染几何体时使用的 WebGL 固定功能管线状态。
translucentBoolean
当为true时,几何体呈现半透明效果。
- Default Value: true
readonly vertexShaderSourceString
顶点着色器的GLSL源代码。
Methods
-
getFragmentShaderSource(){String}
-
通过程序化方式生成适用于该外观的完整 GLSL片段着色器源代码,此过程会综合考量
Appearance#fragmentShaderSource和Appearance#material的参数设置。Returns:
Type Description String 完整的GLSL片段着色器源代码。 -
getRenderState(){Object}
-
创建一个渲染状态。此对象并非最终的渲染状态实例,而是可以包含与上下文中创建的渲染状态属性完全相同的子集。
Returns:
Type Description Object 渲染状态。 -
isTranslucent(){Boolean}
-
根据
Appearance#transparent和Material#isTranslucent确定几何体外观是否呈半透明效果。Returns:
Type Description Boolean 若外观呈现半透明效果,则为 true。