# DebugAppearance

#### new Cesium.DebugAppearance(options)
Scene/DebugAppearance.js 44

Visualizes a vertex attribute by displaying it as a color for debugging.

Components for well-known unit-length vectors, i.e., `normal`, `tangent`, and `bitangent`, are scaled and biased from [-1.0, 1.0] to (-1.0, 1.0).

Name | Type | Description
--- | --- | ---

`options`

Object

Object with the following properties:

Name | Type | Default | Description
--- | --- | --- | ---
`attributeName` | String |  | The name of the attribute to visualize.
`perInstanceAttribute` | Boolean | `false` | optional Boolean that determines whether this attribute is a per-instance geometry attribute.
`glslDatatype` | String | `'vec3'` | optional The GLSL datatype of the attribute. Supported datatypes are `float`, `vec2`, `vec3`, and `vec4`.
`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.

##### Throws:

- DeveloperError : options.glslDatatype must be float, vec2, vec3, or vec4.

##### Example:

    var primitive = new Cesium.Primitive({
      geometryInstances : // ...
      appearance : new Cesium.DebugAppearance({
        attributeName : 'normal'
      })
    });

### Members

#### readonlyattributeName : String
Scene/DebugAppearance.js 213

The name of the attribute being visualized.

#### readonlyclosed : Boolean
Scene/DebugAppearance.js 199

When `true`, the geometry is expected to be closed.

Default Value: `false`

#### readonlyfragmentShaderSource : String
Scene/DebugAppearance.js 169

The GLSL source code for the fragment shader. The full fragment shader source is built procedurally taking into account the `DebugAppearance#material`. Use `DebugAppearance#getFragmentShaderSource` to get the full source.

#### readonlyglslDatatype : String
Scene/DebugAppearance.js 227

The GLSL datatype of the attribute being visualized.

#### material : Material
Scene/DebugAppearance.js 122

This property is part of the `Appearance` interface, but is not used by `DebugAppearance` since a fully custom fragment shader is used.

Default Value: `undefined`

#### readonlyrenderState : Object
Scene/DebugAppearance.js 183

The WebGL fixed-function state to use when rendering the geometry.

#### translucent : Boolean
Scene/DebugAppearance.js 131

When `true`, the geometry is expected to appear translucent.

Default Value: `false`

#### readonlyvertexShaderSource : String
Scene/DebugAppearance.js 153

The GLSL source code for the vertex shader.

### Methods

#### getFragmentShaderSource() → String
Scene/DebugAppearance.js 242

Returns the full GLSL fragment shader source, which for `DebugAppearance` is just `DebugAppearance#fragmentShaderSource`.

##### Returns:

The full GLSL fragment shader source.

#### getRenderState() → Object
Scene/DebugAppearance.js 262

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.

##### Returns:

The render state.

#### isTranslucent() → Boolean
Scene/DebugAppearance.js 251

Determines if the geometry is translucent based on `DebugAppearance#translucent`.

##### Returns:

`true` if the appearance is translucent.