SDF-2D - v0.8.0
    Preparing search index...

    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 DrawableDescriptors, look at the complete custom drawable example, or the code of [[CircleFactory]] or [[InvertedTunnelFactory]].

    interface DrawableDescriptor {
        empty: Drawable;
        objectCountScaler?: number;
        propertyUniformMapping: { [property: string]: string };
        sdf?: {
            distanceFunctionName: string;
            isInverted?: boolean;
            shader: string;
        };
        shaderCombinationSteps: number[];
        uniformCountMacroName: string;
    }
    Index
    empty: Drawable

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

    objectCountScaler?: 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: { [property: string]: string }

    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.

    sdf?: { distanceFunctionName: string; isInverted?: boolean; shader: string }

    Required property for shapes having physical dimensions.

    Type Declaration

    • distanceFunctionName: string

      The name of the function defined in the value of shader. Its signature must be:

      float distanceFunction(in vec2 target, out vec4 color)
      

      Replace distanceFunction with the name given here. Return the signed distance to the closest drawable at target and assign its RGBA color to color on every code path. Both WebGL and WebGL2 pass a vec4 to this output parameter.

    • OptionalisInverted?: boolean

      By default, drawables are not inverted.

    • shader: string

      The actual GLSL code that defines the drawables represented by this descriptor.

      Your code should work with both GLSL version 100 and version 300 es.

    shaderCombinationSteps: number[]

    Number of possible drawables around each tile.

    For each step, a shader is generated, and at runtime the closest matching shader is used to render a given part of the scene.

    Must contain 0 as a value.

    uniformCountMacroName: string

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