@thi.ng/webgl
Version:
WebGL & GLSL abstraction layer
8 lines (7 loc) • 414 B
JavaScript
import { add, mul } from "@thi.ng/shader-ast/ast/ops";
const positionAttrib = (opts, attribs, pos = "position") => opts.instancePos ? add(attribs[pos], attribs[opts.instancePos]) : attribs[pos];
const colorAttrib = (opts, attribs, fallback) => opts.instanceColor ? mul(attribs[opts.instanceColor], fallback) : opts.color ? mul(attribs[opts.color], fallback) : fallback;
export {
colorAttrib,
positionAttrib
};