无法在 React 中渲染任何着色器:`Failed to execute 'shaderSource'`

问题描述 投票:0回答:0

我正在尝试渲染一个简单的着色器,但是对于我使用的每个库(

gl-react
shadertoy-react
等),我都会收到错误消息:

TypeError: Failed to execute 'shaderSource' on 'WebGL2RenderingContext': parameter 1 is not of type 'WebGLShader'.
    at compileShader (shader-cache.js:55:1)
    at proto.getShaderReference (shader-cache.js:75:1)
    at Object.getShaderReference [as shader] (shader-cache.js:131:1)
    at proto.update (index.js:109:1)
    at createShader (index.js:255:1)
    at Surface._makeShader (createSurface.js:538:1)
    at Surface._getShader (createSurface.js:547:1)
    at Node._getShader (Node.js:764:1)
    at Node._draw (Node.js:828:1)
    at Surface._draw (createSurface.js:590:1)
(

这是一个重现问题的沙箱:CodeSandbox.

我确定着色器可以工作,因为我已经对其进行了测试,但无法使其在 React 中工作。我开始工作的唯一图书馆是

react-three-fiber
,但我也遇到了其他问题(参见StackOverflow)。

reactjs opengl webgl react-three-fiber shadertoy
© www.soinside.com 2019 - 2024. All rights reserved.