UNPKG

2.67 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/webgl/ReglFramebuffer.ts"],"names":["ReglFramebuffer","reGl","options","framebuffer","width","height","color","colors","depth","stencil","framebufferOptions","Array","isArray","map","c","get","destroy","resize"],"mappings":";;;AAUA;AACA;AACA;AACA;IACqBA,e;AAGnB,2BAAYC,IAAZ,EAA6BC,OAA7B,EAAyE;AAAA;;AAAA,SAFjEC,WAEiE;AAAA,QAC/DC,KAD+D,GACdF,OADc,CAC/DE,KAD+D;AAAA,QACxDC,MADwD,GACdH,OADc,CACxDG,MADwD;AAAA,QAChDC,KADgD,GACdJ,OADc,CAChDI,KADgD;AAAA,QACzCC,MADyC,GACdL,OADc,CACzCK,MADyC;AAAA,QACjCC,KADiC,GACdN,OADc,CACjCM,KADiC;AAAA,QAC1BC,OAD0B,GACdP,OADc,CAC1BO,OAD0B;AAGvE,QAAMC,kBAA2C,GAAG;AAClDN,MAAAA,KAAK,EAALA,KADkD;AAElDC,MAAAA,MAAM,EAANA;AAFkD,KAApD;;AAKA,QAAIM,KAAK,CAACC,OAAN,CAAcL,MAAd,CAAJ,EAA2B;AACzBG,MAAAA,kBAAkB,CAACH,MAAnB,GAA4BA,MAAM,CAACM,GAAP,CAAW,UAACC,CAAD;AAAA,eACpCA,CAAD,CAAqBC,GAArB,EADqC;AAAA,OAAX,CAA5B;AAGD;;AAED,QAAIT,KAAK,IAAI,OAAOA,KAAP,KAAiB,SAA9B,EAAyC;AACvCI,MAAAA,kBAAkB,CAACJ,KAAnB,GAA4BA,KAAD,CAAyBS,GAAzB,EAA3B;AACD,KAhBsE,CAkBvE;;;AAEA,SAAKZ,WAAL,GAAmBF,IAAI,CAACE,WAAL,CAAiBO,kBAAjB,CAAnB;AACD;;;;0BAEY;AACX,aAAO,KAAKP,WAAZ;AACD;;;8BAEgB;AACf,WAAKA,WAAL,CAAiBa,OAAjB;AACD;;;iCAEmE;AAAA,UAApDZ,KAAoD,QAApDA,KAAoD;AAAA,UAA7CC,MAA6C,QAA7CA,MAA6C;AAClE,WAAKF,WAAL,CAAiBc,MAAjB,CAAwBb,KAAxB,EAA+BC,MAA/B;AACD;;;;;;SApCkBL,e","sourcesContent":["import {\n gl,\n IFramebuffer,\n IFramebufferInitializationOptions,\n IRenderbuffer,\n ITexture2D,\n} from '@antv/g-webgpu-core';\nimport regl from 'regl';\nimport ReglTexture2D from './ReglTexture2D';\n\n/**\n * adaptor for regl.Framebuffer\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#framebuffers\n */\nexport default class ReglFramebuffer implements IFramebuffer {\n private framebuffer: regl.Framebuffer;\n\n constructor(reGl: regl.Regl, options: IFramebufferInitializationOptions) {\n const { width, height, color, colors, depth, stencil } = options;\n\n const framebufferOptions: regl.FramebufferOptions = {\n width,\n height,\n };\n\n if (Array.isArray(colors)) {\n framebufferOptions.colors = colors.map((c: ITexture2D | IRenderbuffer) =>\n (c as ReglTexture2D).get(),\n );\n }\n\n if (color && typeof color !== 'boolean') {\n framebufferOptions.color = (color as ReglTexture2D).get();\n }\n\n // TODO: depth & stencil\n\n this.framebuffer = reGl.framebuffer(framebufferOptions);\n }\n\n public get() {\n return this.framebuffer;\n }\n\n public destroy() {\n this.framebuffer.destroy();\n }\n\n public resize({ width, height }: { width: number; height: number }) {\n this.framebuffer.resize(width, height);\n }\n}\n"],"file":"ReglFramebuffer.js"}
\No newline at end of file