typegpu
Version:
A thin layer between JS and WebGPU/WGSL that improves development experience and allows for faster iteration.
15 lines (14 loc) • 830 B
JavaScript
import { Operator } from 'tsover-runtime';
import { MatBase } from "./matrix.js";
import { VecBase } from "./vectorImpl.js";
import { assignInfixOperator } from "../tgsl/infixDispatch.js";
assignInfixOperator(VecBase, 'add', Operator.plus);
assignInfixOperator(MatBase, 'add', Operator.plus);
assignInfixOperator(VecBase, 'sub', Operator.minus);
assignInfixOperator(MatBase, 'sub', Operator.minus);
assignInfixOperator(VecBase, 'mul', Operator.star);
assignInfixOperator(MatBase, 'mul', Operator.star);
assignInfixOperator(VecBase, 'div', Operator.slash);
assignInfixOperator(VecBase, 'mod', Operator.percent);
assignInfixOperator(VecBase, 'bitShiftLeft', Symbol()); // bitShift does not yet have tsover operator symbol
assignInfixOperator(VecBase, 'bitShiftRight', Symbol()); // bitShift does not yet have tsover operator symbol