@deck.gl/layers
Version:
deck.gl core layers
46 lines (41 loc) • 1.02 kB
text/typescript
// deck.gl
// SPDX-License-Identifier: MIT
// Copyright (c) vis.gl contributors
import type {ShaderModule} from '@luma.gl/shadertools';
const uniformBlock = `\
uniform textBackgroundUniforms {
bool billboard;
float sizeScale;
float sizeMinPixels;
float sizeMaxPixels;
vec4 borderRadius;
vec4 padding;
highp int sizeUnits;
bool stroked;
} textBackground;
`;
export type TextBackgroundProps = {
billboard: boolean;
sizeScale: number;
sizeMinPixels: number;
sizeMaxPixels: number;
borderRadius: [number, number, number, number];
padding: [number, number, number, number];
sizeUnits: number;
stroked: boolean;
};
export const textBackgroundUniforms = {
name: 'textBackground',
vs: uniformBlock,
fs: uniformBlock,
uniformTypes: {
billboard: 'f32',
sizeScale: 'f32',
sizeMinPixels: 'f32',
sizeMaxPixels: 'f32',
borderRadius: 'vec4<f32>',
padding: 'vec4<f32>',
sizeUnits: 'i32',
stroked: 'f32'
}
} as const satisfies ShaderModule<TextBackgroundProps>;