Class: Appearance

Appearance

new Appearance(optionsopt)

An appearance defines the full GLSL vertex and fragment shaders and the render state used to draw a Primitive. All appearances implement this base Appearance interface.
Parameters:
Name Type Attributes Description
options Object <optional>
Object with the following properties:
Properties
Name Type Attributes Default Description
translucent Boolean <optional>
true When true, the geometry is expected to appear translucent so Appearance#renderState has alpha blending enabled.
closed Boolean <optional>
false When true, the geometry is expected to be closed so Appearance#renderState has backface culling enabled.
material Material <optional>
Material.ColorType The material used to determine the fragment color.
vertexShaderSource String <optional>
Optional GLSL vertex shader source to override the default vertex shader.
fragmentShaderSource String <optional>
Optional GLSL fragment shader source to override the default fragment shader.
renderState RenderState <optional>
Optional render state to override the default render state.
Source:
See:

Members

(readonly) closed :Boolean

When true, the geometry is expected to be closed.
Type:
  • Boolean
Default Value:
  • false
Source:

(readonly) fragmentShaderSource :String

The GLSL source code for the fragment shader. The full fragment shader source is built procedurally taking into account the Appearance#material. Use Appearance#getFragmentShaderSource to get the full source.
Type:
  • String
Source:

material :Material

The material used to determine the fragment color. Unlike other Appearance properties, this is not read-only, so an appearance's material can change on the fly.
Type:
Source:
See:

(readonly) renderState :Object

The WebGL fixed-function state to use when rendering the geometry.
Type:
  • Object
Source:

translucent :Boolean

When true, the geometry is expected to appear translucent.
Type:
  • Boolean
Default Value:
  • true
Source:

(readonly) vertexShaderSource :String

The GLSL source code for the vertex shader.
Type:
  • String
Source:

Methods

getFragmentShaderSource() → {String}

Procedurally creates the full GLSL fragment shader source for this appearance taking into account Appearance#fragmentShaderSource and Appearance#material.
Source:
Returns:
The full GLSL fragment shader source.
Type
String

getRenderState() → {Object}

Creates a render state. This is not the final render state instance; instead, it can contain a subset of render state properties identical to the render state created in the context.
Source:
Returns:
The render state.
Type
Object

isTranslucent() → {Boolean}

Determines if the geometry is translucent based on Appearance#translucent and Material#isTranslucent.
Source:
Returns:
true if the appearance is translucent.
Type
Boolean