UNPKG

2.26 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/webgl/ReglAttribute.ts"],"names":["ReglAttribute","gl","options","attribute","buffer","offset","stride","normalized","size","divisor","get","subData","destroy"],"mappings":";;;AASA;AACA;AACA;IACqBA,a;AAInB,yBAAYC,EAAZ,EAA2BC,OAA3B,EAAqE;AAAA;;AAAA,SAH7DC,SAG6D;AAAA,SAF7DC,MAE6D;AAAA,QAC3DA,MAD2D,GACLF,OADK,CAC3DE,MAD2D;AAAA,QACnDC,MADmD,GACLH,OADK,CACnDG,MADmD;AAAA,QAC3CC,MAD2C,GACLJ,OADK,CAC3CI,MAD2C;AAAA,QACnCC,UADmC,GACLL,OADK,CACnCK,UADmC;AAAA,QACvBC,IADuB,GACLN,OADK,CACvBM,IADuB;AAAA,QACjBC,OADiB,GACLP,OADK,CACjBO,OADiB;AAEnE,SAAKL,MAAL,GAAcA,MAAd;AACA,SAAKD,SAAL,GAAiB;AACfC,MAAAA,MAAM,EAAGA,MAAD,CAAuBM,GAAvB,EADO;AAEfL,MAAAA,MAAM,EAAEA,MAAM,IAAI,CAFH;AAGfC,MAAAA,MAAM,EAAEA,MAAM,IAAI,CAHH;AAIfC,MAAAA,UAAU,EAAEA,UAAU,IAAI,KAJX;AAKfE,MAAAA,OAAO,EAAEA,OAAO,IAAI;AALL,KAAjB;;AAQA,QAAID,IAAJ,EAAU;AACR,WAAKL,SAAL,CAAeK,IAAf,GAAsBA,IAAtB;AACD;AACF;;;;0BAEY;AACX,aAAO,KAAKL,SAAZ;AACD;;;iCAEmBD,O,EAKjB;AACD,WAAKE,MAAL,CAAYO,OAAZ,CAAoBT,OAApB;AACD;;;8BAEgB;AACf,WAAKE,MAAL,CAAYQ,OAAZ;AACD;;;;;;SAnCkBZ,a","sourcesContent":["import {\n BufferData,\n IAttribute,\n IAttributeInitializationOptions,\n IBuffer,\n} from '@antv/g-webgpu-core';\nimport regl from 'regl';\nimport ReglBuffer from './ReglBuffer';\n\n/**\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#attributes\n */\nexport default class ReglAttribute implements IAttribute {\n private attribute: regl.Attribute;\n private buffer: IBuffer;\n\n constructor(gl: regl.Regl, options: IAttributeInitializationOptions) {\n const { buffer, offset, stride, normalized, size, divisor } = options;\n this.buffer = buffer;\n this.attribute = {\n buffer: (buffer as ReglBuffer).get(),\n offset: offset || 0,\n stride: stride || 0,\n normalized: normalized || false,\n divisor: divisor || 0,\n };\n\n if (size) {\n this.attribute.size = size;\n }\n }\n\n public get() {\n return this.attribute;\n }\n\n public updateBuffer(options: {\n // 用于替换的数据\n data: BufferData;\n // 原 Buffer 替换位置,单位为 byte\n offset: number;\n }) {\n this.buffer.subData(options);\n }\n\n public destroy() {\n this.buffer.destroy();\n }\n}\n"],"file":"ReglAttribute.js"}
\No newline at end of file