Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface DrawableDescriptor

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 CircleFactory or InvertedTunnelFactory.

Hierarchy

  • DrawableDescriptor

Index

Properties

Readonly empty

empty: Drawable

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

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: {}

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 }

Required property for shapes having physical dimensions.

shaderCombinationSteps

shaderCombinationSteps: Array<number>

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

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