Class: Appearance

Appearance

new Appearance()

用于控制 Primitive(图元)可视化效果类。通过定义 ‌GLSL 着色器程序‌、‌材质属性‌和渲染状态‌实现几何体的着色与渲染‌。

Name Type Default Description
options.translucent Boolean true 可选

为true时,表示几何体需呈现半透明效果,所以Appearance#renderState启用了alpha混合。

options.closed Boolean false 可选

为true时,表示几何体应为闭合结构,因此Appearance#renderState将启用背面剔除。

options.material Material Material.ColorType 可选

用于确定片段颜色的材质。

options.vertexShaderSource String 可选

可选的 GLSL 顶点着色器源代码,用于替换默认的顶点着色器实现。

options.fragmentShaderSource String 可选

可选的 GLSL 片段着色器源代码,用于替换默认的片段着色器实现。

options.renderState RenderState 可选

可选的呈现状态,替换默认呈现状态。

See:

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#fragmentShaderSourceAppearance#material的参数设置。

Returns:
Type Description
String 完整的GLSL片段着色器源代码。

getRenderState(){Object}

创建一个渲染状态。此对象并非最终的渲染状态实例,而是可以包含与上下文中创建的渲染状态属性完全相同的子集。

Returns:
Type Description
Object 渲染状态。

isTranslucent(){Boolean}

根据Appearance#transparentMaterial#isTranslucent确定几何体外观是否呈半透明效果。

Returns:
Type Description
Boolean 若外观呈现半透明效果,则为 true。