import {
abstractFloatShaderBuilder,
abstractIntShaderBuilder,
basicExpressionBuilder,
basicExpressionWithPredeclarationBuilder,
ShaderBuilder,
} from '../../expression.js';
export function builtin(name: string): ShaderBuilder {
return basicExpressionBuilder(values => `${name}(${values.join(', ')})`);
}
export function abstractFloatBuiltin(name: string): ShaderBuilder {
return abstractFloatShaderBuilder(values => `${name}(${values.join(', ')})`);
}
export function abstractIntBuiltin(name: string): ShaderBuilder {
return abstractIntShaderBuilder(values => `${name}(${values.join(', ')})`);
}
export function builtinWithPredeclaration(name: string, predeclaration: string): ShaderBuilder {
return basicExpressionWithPredeclarationBuilder(
values => `${name}(${values.join(', ')})`,
predeclaration
);
}