@lightningtv/renderer
Version:
Lightning 3 Renderer
33 lines (32 loc) • 1.03 kB
TypeScript
import type { WebGlShaderType } from '../../renderers/webgl/WebGlShaderNode.js';
/**
* Properties of the {@link SdfShader}
*/
export interface SdfShaderProps {
transform: Float32Array;
scrollY: number;
/**
* Color in RGBA format
*
* @remarks
* Color channels must NOT be premultiplied by alpha for best blending results.
*/
color: number;
size: number;
distanceRange: number;
debug: boolean;
}
/**
* SdfShader supports multi-channel and single-channel signed distance field textures.
*
* @remarks
* This Shader is used by the {@link SdfTextRenderer}. Do not use thie Shader
* directly. Instead create a Text Node and assign a SDF font family to it.
*
* @internalRemarks
* The only thing this shader does to support multi-channel SDFs is to
* add a median function to the fragment shader. If this one function call
* ends up being a performance bottleneck we can always look at ways to
* remove it.
*/
export declare const Sdf: WebGlShaderType<SdfShaderProps>;