---
url: /api/effects/dither/functions/ditherHalftone.md
---
# ditherHalftone()

```ts
function ditherHalftone(
  params?: {
    size?: number;
    color?: boolean;
    levels?: number;
  } & {
    angle?: number;
  },
): EffectPass<
  {
    uTexture: (
      __namedParameters: Readonly<EffectUniformContext>,
    ) => WebGLTexture;
    uResolution: (
      __namedParameters: Readonly<EffectUniformContext>,
    ) => [number, number];
    uDpr: (__namedParameters: Readonly<EffectUniformContext>) => number;
    uSize: number;
    uColor: boolean;
    uLevels: number;
  } & {
    uAngle: number;
  }
>;
```

Creates a halftone post-processing effect.

Unlike the ordered matrices, this is a continuous, angled dot screen: round
dots grow from each cell centre, which reads as a printed halftone and scales
to any size without visible steps. The `size` parameter sets the distance between
dot centres, not their diameter, so halftone looks finer than the solid-cell
patterns at the same value.

## Parameters

### params?

{
`size?`: `number`;
`color?`: `boolean`;
`levels?`: `number`;
} & {
`angle?`: `number`;
}

Dither configuration.

## Returns

[`EffectPass`](../../../passes/effectPass/type-aliases/EffectPass.md)<{
`uTexture`: (`__namedParameters`: `Readonly`<[`EffectUniformContext`](../../../passes/effectPass/type-aliases/EffectUniformContext.md)>) => `WebGLTexture`;
`uResolution`: (`__namedParameters`: `Readonly`<[`EffectUniformContext`](../../../passes/effectPass/type-aliases/EffectUniformContext.md)>) => \[`number`, `number`];
`uDpr`: (`__namedParameters`: `Readonly`<[`EffectUniformContext`](../../../passes/effectPass/type-aliases/EffectUniformContext.md)>) => `number`;
`uSize`: `number`;
`uColor`: `boolean`;
`uLevels`: `number`;
} & {
`uAngle`: `number`;
}>

## Remarks

Expects linear input and writes sRGB-encoded output, so use it as the last
effect, after a tone mapping with `outputColorSpace: "linear"`. The pattern
is mixed in linear light between the two nearest palette levels, so the
average light matches the source.
