18
2020
12

webpack打包shader

使用typescript开发,使用webpack打包,项目中要用到shader。如何把shader代码放到独立的文件中,打包时打包进去。

使用ts-shader-loader,首先安装ts-shader-loader,然后在webpack的打包配置文件中配置:

module: {
  rules: [
    {
      test: /\.ts$/,
      use: 'ts-loader',
      exclude: /node_modules/
    },
    {
      test: /\.(glsl|vs|fs)$/,
      loader: 'ts-shader-loader',
      exclude: /node_modules/
    }
  ],
},

再声明接口:

declare module '*.glsl' {
  const value: string;
  export default value;
}

然后就可以import了:

import electroVertex from "./glsl/electroVertex.glsl";
import electroFragment from "./glsl/electroFragment.glsl";

还有一个小问题,打包之后的shader代码没有压缩。
compress-shader-loader可以压缩,但是有bug。



« 上一篇下一篇 »

相关文章:

pixi自定义shader-BatchPluginFactory  (2020-12-11 14:53:4)

webpack  (2018-2-17 18:50:23)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。