自己动手做了一个glsl代码块
14 个赞
cool!!!
能否分享一下这个是怎么实现的?感觉给同事演示glsl的代码的时候可以用用。
按ob-dot的样板写了个ob-glsl,把代码块发给外部程序,外部程序渲染后读取帧缓存保存到指定的png文件。
现在的状态太粗糙了,我得再打磨一下。1)增加支持任意参数传递到shader 2)把外部程序用c++重写,现在用的common lisp编译出来太大了 3)增加session支持,避免反复创建渲染进程
我太懒了,估计一时半会儿不会有兴致继续搞这个了,代码贴上来谁想玩请自便
挖个坟,所以我自己把坑填了。渲染部分用C++重写成了dynamic module,不再需要调用外部进程,基本上是瞬间完成。 Github 链接: GitHub - finalpatch/ob-glsl: glsl code blocks for org-mode
9 个赞
竟然填了两年前的坟,肃然起敬!多希望某些挖坑不填的跟楼主学学。
更新了一下Emacs32的Canvas支持。现在可以直接在Buffer中显示动画了: 要显示动画,只要在代码中使用iTime变量即可(从渲染开始的秒数浮点智,和shadertoy一致)。如果代码块提供了png文件名,那么和以前一样渲染单帧,如果不提供文件名,则显示动画。
这个动画实现的比Canvas demo里那个要完善一点:支持同一个buffer中多个代码块动画,支持linux以外的系统(windows, macos)。



