return { tag = 'pipeline', summary = 'Set the sampler.', description = [[ Sets the default `Sampler` to use when sampling textures. It is also possible to send a custom sampler to a shader using `Pass:send` and use that instead, which allows customizing the sampler on a per-texture basis. ]], arguments = { sampler = { type = 'Sampler', description = 'The default sampler shaders will use when reading from textures.' }, filter = { type = 'FilterMode', default = [['linear']], description = [[ The default filter mode to use when sampling textures (the `repeat` wrap mode will be used). ]] } }, returns = {}, variants = { { arguments = { 'filter' }, returns = {} }, { arguments = { 'sampler' }, returns = {} } }, notes = [[ The `getPixel` shader helper function will use this sampler. When a Pass is reset, its sampler will be reset to `linear`. The sampler applies to all draws in the pass on submit, regardless of when the sampler is set. ]], example = [[ function lovr.draw(pass) pass:setSampler('nearest') -- activate minecraft mode pass:setMaterial(rock) pass:cube(x, y, z) end ]] }