着色器示例
每个示例都在各自的页面中于浏览器内运行:在文本框中编辑着色器,然后按 Run(运行)重新编译。每个演示下方的源代码与该演示正在运行的文本完全相同,因此可以直接复制出来。
大多数示例是为 ShaderToy 编写的,原样粘贴回 ShaderToy 即可运行:iTime、iResolution 和 iMouse 被映射到交互演示的 uniform 上,而不是从代码片段中改写掉。
| 示例 | 展示内容 |
|---|---|
| 3D 球体 | 对有向距离场进行光线步进,带光照和阴影。 |
| 黑洞 | 引力透镜、吸积盘和光子环。拖动可环绕观察。 |
| 云隧道 | 视差星空之上的螺旋等离子隧道。 |
| 数字计数器 | 完全由距离函数绘制的七段数码管数字。 |
| 流动的草场 | 单次渲染完成的风吹草地。拖动可环顾四周。 |
| 数字显示 | 不使用字体或纹理来渲染数字。 |
| 视差贴图 | 沿视线方向偏移纹理坐标,模拟表面深度。 |
| 光线步进云 | 体积云:密度、自阴影和前向散射。拖动可环绕观察。 |
| 科幻隧道 | 由重复的极坐标几何构建的动画走廊。 |
| 隧道 003 | 另一个隧道,采用不同的纹理和配色方法。 |
3D 球体(3D 光线步进)
代码片段:链接