regl-shape
Version:
2D shape shader for regl
38 lines (37 loc) • 1.27 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createFillShader = void 0;
const shader_vert_1 = __importDefault(require("./shader.vert"));
const shader_frag_1 = __importDefault(require("./shader.frag"));
function createFillShader(regl, { blend, scissor, stencil, viewport, uniforms }) {
const drawConfig = {
blend,
scissor,
stencil,
viewport,
primitive: "triangles",
elements: (_, p) => p.triangles,
offset: 0,
vert: shader_vert_1.default,
frag: shader_frag_1.default,
uniforms: Object.assign(Object.assign({}, uniforms), { color: (_, p) => p.fillColor }),
attributes: {
position: {
buffer: (_, p) => p.positionBuffer,
stride: 8,
offset: 8,
},
positionFract: {
buffer: (_, p) => p.positionFractBuffer,
stride: 8,
offset: 8,
},
},
depth: { enable: false },
};
return regl(drawConfig);
}
exports.createFillShader = createFillShader;