写shader时如何在effect文件中打印日志到控制台

如题,想在编写shader的时候,打印一些日志到控制台,要怎么做呢

同问,我也想知道

别想了·····

刚学shader,我也想要这个功能,不过记得有个大佬的帖子说没得办法,只能自己改参数看效果,效果不对就代表出错了
但是,我特么是想知道为什么出错,在哪出错啊。。。。

或许可以换别的办法: printf in GLSL? - Stack Overflow

1赞

如果是写好了 effect 却编译不过,又不知道从哪开始查,应该从在编辑器 console 里找带有如下字符串后缀的 error 开始:

↓↓↓↓↓ EXPAND THIS MESSAGE FOR MORE INFO ↓↓↓↓↓

单击这条 error 即可展开看详细的编译错误输出。注意错误行号是和 error log 里的 source 一致,而不是effect 文件。

如果是 shader 编过了,能正常在场景模型上使用,但效果不对,就需要像上面提到的那样,通过在 fs 里输出一些 debug 颜色,来定位是哪个 term 出了问题。

shader 是运行在 gpu 上的程序,无论程序模型还是可用的系统资源和 cpu 环境都完全不同,所以没办法直接在 shader 里 printf 噢。

输出颜色值太恐怖了吧。。。感觉就像去给女朋友挑口红色号一样

shader大概都只有短短不到20行

但查coding比js还要蛋疼100倍