有没有办法从WebGL着色器中抛出运行时异常?由于着色器是用C语言编写的,不支持异常,我想这并不容易。
我已插入除零错误,但这些错误会在“常量折叠”期间被标记为警告。但我不相信这是在运行时发生的。
关于如何停止对无效运行时值执行的任何聪明的想法?理想情况下,指示错误发生在哪一行......
上下文是我在扩展的复杂平面上进行数学运算,它允许无穷大,但不允许某些操作(例如0/0)。
答案 0 :(得分:2)
不可能,不使用WebGL或任何其他图形 API。 在着色器方面,没有诸如"运行时错误和#34;只有" undefined"行为。
执行运行时反馈的唯一方法是将验证颜色编码到后备缓冲区或纹理中,假设您在片段着色器中进行数学运算。否则你运气不好,可能想查看实际为GPGPU制作的API,即OpenCL和Cuda。