{"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\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\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":";;;;;;;AAQO,SAAS,2BAA4B,CAAA,EAAE,IAAM,EAAA,IAAA,EACpD,EAAA;AACI,EAAA,MAAM,SAAS,iBAAkB,CAAA;AAAA,IAC7B,QAAU,EAAA;AAAA,MACN,QAAU,EAAA,mBAAA;AAAA,MACV,MAAQ,EAAA,iBAAA;AAAA,KACZ;AAAA,IACA,IAAM,EAAA;AAAA,MACF,iBAAA;AAAA,MACA,GAAG,IAAA;AAAA,KACP;AAAA,GACH,CAAA,CAAA;AAED,EAAA,OAAO,WAAW,IAAK,CAAA;AAAA,IACnB,IAAA;AAAA,IACA,MAAQ,EAAA;AAAA,MACJ,QAAQ,MAAO,CAAA,MAAA;AAAA,MACf,UAAY,EAAA,MAAA;AAAA,KAChB;AAAA,IACA,QAAU,EAAA;AAAA,MACN,QAAQ,MAAO,CAAA,QAAA;AAAA,MACf,UAAY,EAAA,MAAA;AAAA,KAChB;AAAA,GACH,CAAA,CAAA;AACL,CAAA;AAEO,SAAS,0BAA2B,CAAA,EAAE,IAAM,EAAA,IAAA,EACnD,EAAA;AACI,EAAA,OAAO,IAAI,SAAU,CAAA;AAAA,IACjB,IAAA;AAAA,IACA,GAAG,mBAAoB,CAAA;AAAA,MACnB,QAAU,EAAA;AAAA,QACN,MAAQ,EAAA,gBAAA;AAAA,QACR,QAAU,EAAA,kBAAA;AAAA,OACd;AAAA,MACA,IAAM,EAAA;AAAA,QACF,mBAAA;AAAA,QACA,GAAG,IAAA;AAAA,OACP;AAAA,KACH,CAAA;AAAA,GACJ,CAAA,CAAA;AACL;;;;"}