three.js - 三JS : Get useful shader build log

标签 three.js shader

当我的 ThreeJS 自定义着色器包含错误时,我会在渲染阶段在 JS 控制台中收到非常神秘的 INVALID_OPERATION 消息:

WebGL: INVALID_OPERATION: useProgram: program not valid

有没有办法获得更有用的日志,例如getShaderInfoLog()返回的日志?

(为了快速测试这一点,可以在 this app 的着色器中添加错误。)

最佳答案

出于性能原因,two.js R104在编译着色器程序时不再执行错误检查和报告。然而,多名用户提示这一更改,因此最近已将其恢复。在下一个版本 R105 中,一切都会像以前一样(请参阅 migration guide )。

不过,您可以通过将 renderer.debug.checkShaderErrors 设置为 true 来手动启用 R104 中的先前行为。

关于three.js - 三JS : Get useful shader build log,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56001055/

相关文章:

javascript - 如何在 typescript 中导入 three.js GLTFExporter?

javascript - 创建最大体积的内切 3D 框,适合点数组

Three.js 基于内部网格设置 Object3D 的中心

c++ - 纹理加载加载蓝色纹理而不是实际颜色

android - 如何实现shaderoy itime?

javascript - 如何在 Three.js 中将 alpha 贴图纹理与 ShaderMaterial 一起使用?

javascript - threejs - 将 UV 坐标标准化为 0 和 1 问题

javascript - Three.js 中 Material 的漫反射贴图和颜色之间的相关性

c++ - 在 OpenGL 中动态加载着色器毫无意义吗?

java - LWJGL 无法编译着色器