# Class Drawable`Abstract`

Base class of every drawable object.

To create your own drawables, you need to subclass from this.

> Although lights are also subclasses of Drawable, you cannot create your own light sources.

#### Hierarchy (View Summary)

- Drawable
  - ColorfulCircle

- Defined in drawables/drawable.ts:11

##### Index

### Constructors

constructor

### Properties

descriptor

### Methods

getObjectToSerialize
minDistance

## Constructors

### constructor

- new Drawable(): Drawable

  #### Returns Drawable

## Properties

### `Static` `Readonly` descriptor

descriptor: DrawableDescriptor

This should be defined in inherited classes.

- Defined in drawables/drawable.ts:15

## Methods

### `Protected` `Abstract` getObjectToSerialize

- getObjectToSerialize(transform2d: mat2d, transform1d: number): any

  Return the values that should be given to the shaders through uniform inputs.

  #### Parameters

  - transform2d: mat2d

    position-like properties should be transformed by this matrix before being returned.

  - transform1d: number

    scalar properties should be transformed by this number before being returned.

  #### Returns any

  - Defined in drawables/drawable.ts:34

### `Abstract` minDistance

- minDistance(target: vec2): number

  The lower bound of the distance between the target and the object.

  It can return 0 by default; the only consequence is reduced performance, because this object won't benefit from tile-based rendering.

  #### Parameters

  - target: vec2

  #### Returns number

  - Defined in drawables/drawable.ts:24