不多废话,先直接上链接:
https://gitee.com/ruanwujing/ccc-shader-log.git
这时从shadertoy上抄来的东西。shadertoy上有几个作品,上面有简略版的ui。好家伙,纯shader页面上怎么会有UI!?

仔细看看代码,原理很简单,点阵数据,每个字符用一个12x8的像素数据,用一个4位向量即可存储

于是我直接拿来,然后封装进了一个chunk里。
简单的写了个demo。
效果:

大致使用方法:

不多废话,先直接上链接:
https://gitee.com/ruanwujing/ccc-shader-log.git
这时从shadertoy上抄来的东西。shadertoy上有几个作品,上面有简略版的ui。好家伙,纯shader页面上怎么会有UI!?

仔细看看代码,原理很简单,点阵数据,每个字符用一个12x8的像素数据,用一个4位向量即可存储

于是我直接拿来,然后封装进了一个chunk里。
简单的写了个demo。
效果:

大致使用方法:

666

好文!!!!
有点看不懂,还可以详细说下么
我不管你信不信,我反正是star了
在需要的shader里 include一下这个shaderlog.chunk。然后照着示例的这种方式在片元着色器中写代码就行了。
需要设置iResolution,在shadertoy代码里表示屏幕分辨率,但是在这里应该用图片尺寸。简单测试直接写死即可。
_CurPos是用uv乘以iResolution计算出的当前片元坐标,照着示例赋值一下。
setCursor是设置光标起始位置。
然后随便自定义一个变量 ,加上你要写的字符的值:
t += char(字符数据变量);
t > 0表示是要显示的像素点
另外还有print_int print_float函数,用于输出显示数值
shaderlog.chunk里还有两个用于控制数值位数和浮点数精度的宏,可以调节使用

!!!
牛皮

顶顶顶…
绿哥牛逼啊
战略mark一下.
这两天在搞shader.
一直苦恼找不到log打印.
吊炸天~~
wdnmd,天下苦shader久矣,lz牛逼!!!
好文,马一个
mark 一下下
还不错,赞一个


setCursor 用于换行和间隔。
好文,赞一个!
mark mark