# Module: ol/renderer/webgl/PointsLayer

This documentation is for OpenLayers v10.9.0. The latest is v.

## ol/renderer/webgl/PointsLayer

### Classes

WebGLPointsLayerRenderer

### Type Definitions

#### CustomAttribute{Object}

  A description of a custom attribute to be passed on to the GPU, with a value different for each feature.

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `name` | string | Attribute name.
  `callback` | function | This callback computes the numerical value of the attribute for a given feature (properties are available as 2nd arg for quicker access).

#### FeatureCacheItem{Object}

  Object that holds a reference to a feature, its geometry and properties. Used to optimize rebuildBuffers by accessing these objects quicker.

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `feature` | PointFeature | Feature
  `properties` | Object.<string, *> | Feature properties
  `flatCoordinates` | Coordinate | Point coordinates

#### Options{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `className` | string (defaults to 'ol-layer') | A CSS class name to set to the canvas element.
  `attributes` | Array<CustomAttribute> | undefined | These attributes will be read from the features in the source and then passed to the GPU. The `name` property of each attribute will serve as its identifier: In the vertex shader as an `attribute` by prefixing it with `a_` In the fragment shader as a `varying` by prefixing it with `v_` Please note that these can only be numerical values.
  `vertexShader` | string | Vertex shader source, mandatory.
  `fragmentShader` | string | Fragment shader source, mandatory.
  `hitDetectionEnabled` | boolean | undefined | Whether shader is hit detection aware.
  `uniforms` | Object<UniformValue> | undefined | Uniform definitions for the post process steps Please note that `u_texture` is reserved for the main texture slot and `u_opacity` is reserved for the layer opacity.
  `postProcesses` | Array<PostProcessesOptions> | undefined | Post-processes definitions

#### Point{Point}

#### PointFeature{Feature<Point>}