【发布时间】:2020-01-06 18:13:51
【问题描述】:
让我先提出我的问题,然后分享相关细节:有没有一种方法可以在 ReactJS 中使用/加载(修复解析错误)WebGL 着色器?有没有可用的加载器?
在谷歌搜索了几个小时后,我一直在寻找一种能够使用着色器文件(即顶点和片段着色器)的方法,但我还没有找到最终的解决方案。
当我在 ReactJS 应用程序中执行此操作时:
require('../shaders/particle.vert')import particleVert from '../shaders/particle.vert'
我收到此错误:
ERROR in ./src/particles/src/shaders/particle.vert 3:10
Module parse failed: Unexpected token (3:10)
You may need an appropriate loader to handle this file type.
这就是我在我的 react-app 代码中使用这些着色器的方式:
const material = new THREE.RawShaderMaterial({
uniforms,
vertexShader: glslify(require('../shaders/particle.vert')),
fragmentShader: glslify(require('../shaders/particle.frag')),
// vertexShader: glslify(particleVert),
// fragmentShader: glslify(particleFrag),
depthTest: false,
transparent: true,
// blending: THREE.AdditiveBlending
});
这是显示整个问题日志的屏幕截图:
【问题讨论】:
-
您使用的是什么捆绑器?网络包?包裹?该捆绑器负责将
require('textfile.frag')变成正确的东西。它现在不知道如何处理 .frag 和 .vert 文件。 -
我正在使用基本的 react-app create-react-app
标签: reactjs webpack three.js glsl