eb9557e5e0552c4c22d549521228217e2c5fa957c4ffdd80949edf9700e330fa.json 5.9 KB

1
  1. {"ast":null,"code":"const varyingRegex = /(flat\\s)?\\s*varying\\s*.*/;\n/** @internal */\nexport class WebGL2ShaderProcessor {\n constructor() {\n this.shaderLanguage = 0 /* ShaderLanguage.GLSL */;\n }\n attributeProcessor(attribute) {\n return attribute.replace(\"attribute\", \"in\");\n }\n varyingCheck(varying, _isFragment) {\n return varyingRegex.test(varying);\n }\n varyingProcessor(varying, isFragment) {\n return varying.replace(\"varying\", isFragment ? \"in\" : \"out\");\n }\n postProcessor(code, defines, isFragment) {\n const hasDrawBuffersExtension = code.search(/#extension.+GL_EXT_draw_buffers.+require/) !== -1;\n // Remove extensions\n const regex = /#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g;\n code = code.replace(regex, \"\");\n // Replace instructions\n code = code.replace(/texture2D\\s*\\(/g, \"texture(\");\n if (isFragment) {\n const hasOutput = code.search(/layout *\\(location *= *0\\) *out/g) !== -1;\n code = code.replace(/texture2DLodEXT\\s*\\(/g, \"textureLod(\");\n code = code.replace(/textureCubeLodEXT\\s*\\(/g, \"textureLod(\");\n code = code.replace(/textureCube\\s*\\(/g, \"texture(\");\n code = code.replace(/gl_FragDepthEXT/g, \"gl_FragDepth\");\n code = code.replace(/gl_FragColor/g, \"glFragColor\");\n code = code.replace(/gl_FragData/g, \"glFragData\");\n code = code.replace(/void\\s+?main\\s*\\(/g, (hasDrawBuffersExtension || hasOutput ? \"\" : \"layout(location = 0) out vec4 glFragColor;\\n\") + \"void main(\");\n } else {\n const hasMultiviewExtension = defines.indexOf(\"#define MULTIVIEW\") !== -1;\n if (hasMultiviewExtension) {\n return \"#extension GL_OVR_multiview2 : require\\nlayout (num_views = 2) in;\\n\" + code;\n }\n }\n return code;\n }\n}","map":{"version":3,"names":["varyingRegex","WebGL2ShaderProcessor","constructor","shaderLanguage","attributeProcessor","attribute","replace","varyingCheck","varying","_isFragment","test","varyingProcessor","isFragment","postProcessor","code","defines","hasDrawBuffersExtension","search","regex","hasOutput","hasMultiviewExtension","indexOf"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Engines/WebGL/webGL2ShaderProcessors.js"],"sourcesContent":["const varyingRegex = /(flat\\s)?\\s*varying\\s*.*/;\n/** @internal */\nexport class WebGL2ShaderProcessor {\n constructor() {\n this.shaderLanguage = 0 /* ShaderLanguage.GLSL */;\n }\n attributeProcessor(attribute) {\n return attribute.replace(\"attribute\", \"in\");\n }\n varyingCheck(varying, _isFragment) {\n return varyingRegex.test(varying);\n }\n varyingProcessor(varying, isFragment) {\n return varying.replace(\"varying\", isFragment ? \"in\" : \"out\");\n }\n postProcessor(code, defines, isFragment) {\n const hasDrawBuffersExtension = code.search(/#extension.+GL_EXT_draw_buffers.+require/) !== -1;\n // Remove extensions\n const regex = /#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g;\n code = code.replace(regex, \"\");\n // Replace instructions\n code = code.replace(/texture2D\\s*\\(/g, \"texture(\");\n if (isFragment) {\n const hasOutput = code.search(/layout *\\(location *= *0\\) *out/g) !== -1;\n code = code.replace(/texture2DLodEXT\\s*\\(/g, \"textureLod(\");\n code = code.replace(/textureCubeLodEXT\\s*\\(/g, \"textureLod(\");\n code = code.replace(/textureCube\\s*\\(/g, \"texture(\");\n code = code.replace(/gl_FragDepthEXT/g, \"gl_FragDepth\");\n code = code.replace(/gl_FragColor/g, \"glFragColor\");\n code = code.replace(/gl_FragData/g, \"glFragData\");\n code = code.replace(/void\\s+?main\\s*\\(/g, (hasDrawBuffersExtension || hasOutput ? \"\" : \"layout(location = 0) out vec4 glFragColor;\\n\") + \"void main(\");\n }\n else {\n const hasMultiviewExtension = defines.indexOf(\"#define MULTIVIEW\") !== -1;\n if (hasMultiviewExtension) {\n return \"#extension GL_OVR_multiview2 : require\\nlayout (num_views = 2) in;\\n\" + code;\n }\n }\n return code;\n }\n}\n"],"mappings":"AAAA,MAAMA,YAAY,GAAG,0BAA0B;AAC/C;AACA,OAAO,MAAMC,qBAAqB,CAAC;EAC/BC,WAAWA,CAAA,EAAG;IACV,IAAI,CAACC,cAAc,GAAG,CAAC,CAAC;EAC5B;EACAC,kBAAkBA,CAACC,SAAS,EAAE;IAC1B,OAAOA,SAAS,CAACC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC;EAC/C;EACAC,YAAYA,CAACC,OAAO,EAAEC,WAAW,EAAE;IAC/B,OAAOT,YAAY,CAACU,IAAI,CAACF,OAAO,CAAC;EACrC;EACAG,gBAAgBA,CAACH,OAAO,EAAEI,UAAU,EAAE;IAClC,OAAOJ,OAAO,CAACF,OAAO,CAAC,SAAS,EAAEM,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC;EAChE;EACAC,aAAaA,CAACC,IAAI,EAAEC,OAAO,EAAEH,UAAU,EAAE;IACrC,MAAMI,uBAAuB,GAAGF,IAAI,CAACG,MAAM,CAAC,0CAA0C,CAAC,KAAK,CAAC,CAAC;IAC9F;IACA,MAAMC,KAAK,GAAG,gJAAgJ;IAC9JJ,IAAI,GAAGA,IAAI,CAACR,OAAO,CAACY,KAAK,EAAE,EAAE,CAAC;IAC9B;IACAJ,IAAI,GAAGA,IAAI,CAACR,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC;IAClD,IAAIM,UAAU,EAAE;MACZ,MAAMO,SAAS,GAAGL,IAAI,CAACG,MAAM,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC;MACxEH,IAAI,GAAGA,IAAI,CAACR,OAAO,CAAC,uBAAuB,EAAE,aAAa,CAAC;MAC3DQ,IAAI,GAAGA,IAAI,CAACR,OAAO,CAAC,yBAAyB,EAAE,aAAa,CAAC;MAC7DQ,IAAI,GAAGA,IAAI,CAACR,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC;MACpDQ,IAAI,GAAGA,IAAI,CAACR,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC;MACvDQ,IAAI,GAAGA,IAAI,CAACR,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC;MACnDQ,IAAI,GAAGA,IAAI,CAACR,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC;MACjDQ,IAAI,GAAGA,IAAI,CAACR,OAAO,CAAC,oBAAoB,EAAE,CAACU,uBAAuB,IAAIG,SAAS,GAAG,EAAE,GAAG,8CAA8C,IAAI,YAAY,CAAC;IAC1J,CAAC,MACI;MACD,MAAMC,qBAAqB,GAAGL,OAAO,CAACM,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;MACzE,IAAID,qBAAqB,EAAE;QACvB,OAAO,sEAAsE,GAAGN,IAAI;MACxF;IACJ;IACA,OAAOA,IAAI;EACf;AACJ","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}