我试图了解如何在用 GLSL 编写的 webgl 着色器中模拟 console.log。很容易收到错误消息,但我不知道如何打印自定义消息。
基本上我想在浏览器的控制台打印东西:
<script id="shader-fs1" type="x-shader/x-fragment">
void main(void)
{
//console.log doesn't work here since it's GLSL not javascript
gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);
}
</script>
有什么建议吗?
最佳答案
编译着色器后,您可以执行以下操作:
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
alert(gl.getShaderInfoLog(shader));
}
它会在编译过程中显示任何错误信息。 GLSL 不能以帧缓冲区/纹理以外的任何其他形式将数据发送回程序,因此您只能通过检查输出颜色来检查发生了什么。 正如 Michael 所指出的,WebGL 检查器可能对我有用,但对于着色器来说不是那么有用,但对于 webGL 应用程序的一般调试
关于javascript - 如何在 webgl 着色器中使用 console.log?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17396929/