Used for containing the required information to compile drawables into shader code.

Each Drawable must have a static property of this type, called descriptor.

For more information on how to create your own DrawableDescriptor-s, look at the code of Circle or InvertedTunnel.

### Hierarchy

- DrawableDescriptor

## Index

### Properties

- empty
- objectCountScaler
- propertyUniformMapping
- sdf
- shaderCombinationSteps
- uniformCountMacroName

## Properties

### Readonly empty

empty: Drawable

- Defined in drawables/drawable-descriptor.ts:73

When no shaderCombinationStep matches the current number of drawables exactly, the value of `empty` is used to pad out arrays.

### Optional objectCountScaler

objectCountScaler: undefined | number

- Defined in drawables/drawable-descriptor.ts:57

Calculating the number of objects to be drawn is done using the following pseudo-formula:

objectCountScaler * propertyUniformMapping[0].length

By default, its value is 1

### propertyUniformMapping

propertyUniformMapping: {}

- Defined in drawables/drawable-descriptor.ts:17

An object describing the relationship between the object returned by a Drawable's getObjectToSerialize and the name of the arrays used in the GLSL code.

#### Type declaration

- ##### [property: string]: string

### Optional sdf

sdf: undefined | { distanceFunctionName: string; isInverted?: undefined | false | true; shader: string }

- Defined in drawables/drawable-descriptor.ts:28

Required property for shapes having physical dimensions.

### shaderCombinationSteps

shaderCombinationSteps: Array<number>

- Defined in drawables/drawable-descriptor.ts:67

Number of possible drawables around each tile.

For each step, a shader will be generated. And at runtime the closes matching shader will be used to render a given part of the scene.

Must contain 0 as a value.

### uniformCountMacroName

uniformCountMacroName: string

- Defined in drawables/drawable-descriptor.ts:23

The name of the uniform int used in the code to refer to the number of drawables of this type.