Skip to content

Blend & Sampler States

Set the blend mode in begin():

import { BlendState } from 'webgpu-spritebatch'
batch.begin({ blendState: BlendState.additive })
PresetDescription
BlendState.alphaBlendStandard alpha blending (default)
BlendState.additiveAdditive blending — great for glow and particles
BlendState.opaqueNo blending — source overwrites destination
BlendState.premultipliedAlphaFor pre-multiplied alpha textures

Set the texture filtering/wrapping in begin():

import { SamplerState } from 'webgpu-spritebatch'
batch.begin({ samplerState: SamplerState.pointClamp })
PresetDescription
SamplerState.linearClampBilinear filtering, clamp to edge (default)
SamplerState.linearWrapBilinear filtering, repeat/wrap
SamplerState.pointClampNearest-neighbor, clamp to edge (pixel art)
SamplerState.pointWrapNearest-neighbor, repeat/wrap

A common pattern for pixel-art rendering:

batch.begin({
samplerState: SamplerState.pointClamp,
blendState: BlendState.alphaBlend,
sortMode: 'frontToBack',
effect: SpriteEffect.alphaCutout,
})