1个稳定版本
1.0.4 | 2021年1月9日 |
---|
#336 在 多媒体
660KB
3K SLoC
Easel
创建数字绘画的着色器游乐场。
动机
和许多人一样,我喜欢用着色器进行创意编程。像Shadertoy这样的网站非常适合原型设计和学习他人的经验。然而,Shadertoy的可访问性会因地理位置而大不相同,而且该网站有时在某些浏览器上会出现故障。性能通常较差,复杂的着色器经常导致我的浏览器崩溃。此外,一旦我完成了一项工作,我通常希望将其保存到文件并打印出来进行展示。据我所知,社区创建的工具目前缺乏导出适合编辑和打印工作流程的高分辨率图像的能力。截图只能做到如此。
此外,和许多人一样,我希望在2020年大流行期间造成的所有空闲时间中学习一项新技能。我开始尝试使用Rust,并很快就爱上了这种语言。
用法
Easel旨在让所有使用过Shadertoy的人感到熟悉。带上你的片段着色器,其余的它都会处理。
有许多配置选项可用。使用easel --help
查看列表。
创建数字绘画
当渲染用于写入磁盘的绘画时,Easel使用高质量的16位纹理并将数据写入未压缩的16位TIFF文件。
文档
详细文档可在docs.rs上找到。
构建Easel
内部,Easel使用shaderc crate,它反过来又使用C++库。这需要安装CMake、Python和Ninja。
安装所有依赖项后,只需使用Cargo进行构建。我建议以发布模式构建以提高性能。
依赖项
~83MB
~1.5M SLoC