{"version":3,"file":"compileHighShaderToProgram.mjs","sources":["../../../src/rendering/high-shader/compileHighShaderToProgram.ts"],"sourcesContent":["import { GlProgram } from '../renderers/gl/shader/GlProgram';\nimport { GpuProgram } from '../renderers/gpu/shader/GpuProgram';\nimport { compileHighShader, compileHighShaderGl } from './compiler/compileHighShader';\nimport { fragmentGlTemplate, fragmentGPUTemplate, vertexGlTemplate, vertexGPUTemplate } from './defaultProgramTemplate';\nimport { globalUniformsBit, globalUniformsBitGl } from './shader-bits/globalUniformsBit';\n\nimport type { HighShaderBit } from './compiler/types';\n\n/**\n * @param root0\n * @param root0.bits\n * @param root0.name\n * @internal\n */\nexport function compileHighShaderGpuProgram({ bits, name }: {bits: HighShaderBit[], name: string}): GpuProgram\n{\n    const source = compileHighShader({\n        template: {\n            fragment: fragmentGPUTemplate,\n            vertex: vertexGPUTemplate,\n        },\n        bits: [\n            globalUniformsBit,\n            ...bits,\n        ]\n    });\n\n    return GpuProgram.from({\n        name,\n        vertex: {\n            source: source.vertex,\n            entryPoint: 'main',\n        },\n        fragment: {\n            source: source.fragment,\n            entryPoint: 'main',\n        },\n    });\n}\n\n/**\n * @param root0\n * @param root0.bits\n * @param root0.name\n * @internal\n */\nexport function compileHighShaderGlProgram({ bits, name }: {bits: HighShaderBit[], name: string}): GlProgram\n{\n    return new GlProgram({\n        name,\n        ...compileHighShaderGl({\n            template: {\n                vertex: vertexGlTemplate,\n                fragment: fragmentGlTemplate,\n            },\n            bits: [\n                globalUniformsBitGl,\n                ...bits,\n            ]\n        })\n    });\n}\n"],"names":[],"mappings":";;;;;;;AAcO,SAAS,2BAAA,CAA4B,EAAE,IAAA,EAAM,IAAA,EAAK,EACzD;AACI,EAAA,MAAM,SAAS,iBAAA,CAAkB;AAAA,IAC7B,QAAA,EAAU;AAAA,MACN,QAAA,EAAU,mBAAA;AAAA,MACV,MAAA,EAAQ;AAAA,KACZ;AAAA,IACA,IAAA,EAAM;AAAA,MACF,iBAAA;AAAA,MACA,GAAG;AAAA;AACP,GACH,CAAA;AAED,EAAA,OAAO,WAAW,IAAA,CAAK;AAAA,IACnB,IAAA;AAAA,IACA,MAAA,EAAQ;AAAA,MACJ,QAAQ,MAAA,CAAO,MAAA;AAAA,MACf,UAAA,EAAY;AAAA,KAChB;AAAA,IACA,QAAA,EAAU;AAAA,MACN,QAAQ,MAAA,CAAO,QAAA;AAAA,MACf,UAAA,EAAY;AAAA;AAChB,GACH,CAAA;AACL;AAQO,SAAS,0BAAA,CAA2B,EAAE,IAAA,EAAM,IAAA,EAAK,EACxD;AACI,EAAA,OAAO,IAAI,SAAA,CAAU;AAAA,IACjB,IAAA;AAAA,IACA,GAAG,mBAAA,CAAoB;AAAA,MACnB,QAAA,EAAU;AAAA,QACN,MAAA,EAAQ,gBAAA;AAAA,QACR,QAAA,EAAU;AAAA,OACd;AAAA,MACA,IAAA,EAAM;AAAA,QACF,mBAAA;AAAA,QACA,GAAG;AAAA;AACP,KACH;AAAA,GACJ,CAAA;AACL;;;;"}