Appearance

new SuperMap3D.Appearance()

用于控制 Primitive(图元)可视化效果类。通过定义 ‌GLSL 着色器程序‌、‌材质属性‌和渲染状态‌实现几何体的着色与渲染‌。
Name Type Default Description
options.translucent Boolean true optional为true时,表示几何体需呈现半透明效果,所以Appearance#renderState启用了alpha混合。
options.closed Boolean false optional为true时,表示几何体应为闭合结构,因此Appearance#renderState将启用背面剔除。
options.material Material Material.ColorType optional 用于确定片段颜色的材质。
options.vertexShaderSource String optional 可选的 GLSL 顶点着色器源代码,用于替换默认的顶点着色器实现。
options.fragmentShaderSource String optional 可选的 GLSL 片段着色器源代码,用于替换默认的片段着色器实现。
options.renderState RenderState optional 可选的呈现状态,替换默认呈现状态。
See:

Members

readonlyclosed : Boolean

当为true时,几何体应为闭合结构。
Default Value: false

readonlyfragmentShaderSource : String

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

material : Material

用于确定片段颜色的材质。 与外观Appearance的其他属性不同,此属性非只读,因此外观的材质可实时动态修改。

readonlyrenderState : Object

在渲染几何体时使用的 WebGL 固定功能管线状态。

translucent : Boolean

为true时,几何体呈现半透明效果。
Default Value: true

readonlyvertexShaderSource : String

顶点着色器的GLSL源代码。

Methods

getFragmentShaderSource()String

通过程序化方式生成适用于该外观的完整 GLSL片段着色器源代码,此过程会综合考量#fragmentShaderSource#material的参数设置。
Returns:
完整的GLSL片段着色器源代码。

getRenderState()Object

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

isTranslucent()Boolean

根据transparentMaterial#isTranslucent确定几何体外观是否呈半透明效果。
Returns:
若外观呈现半透明效果,则为 true。