返回
ShaderJoy——一诗一歌一编程,予你月满人圆的代码中秋
前端
2023-11-02 10:06:03
中秋,古已有之。历经朝代变迁,中秋始终寄托了中华儿女对美好生活的期许,也在这数千年的历史长河中,衍生出了丰富的中秋文化。
而“人有悲欢离合,月有阴晴圆缺”这句脍炙人口的诗词,更道尽了中秋的深意:人世间有悲有喜,有离有合;月亮有阴有晴,有圆有缺。这是一种自然规律,也是一种人生常态。
但诗人苏轼在写下这句诗词时,内心深处又何尝不期盼着人月两圆的团圆美满呢?所以,中秋佳节,但愿各位读者在身边都能有亲人相伴。即使独在异乡为异客,在学习工作之余,也都要平安健康,这样才能与他/她们一起共享这美好的月光。
如今,科技的进步,为我们提供了更多赏月方式。比如,我们可以用代码来创造属于自己的“月亮”。而作为一款实时GLSL渲染器,ShaderJoy就能很好地帮助我们实现这一愿望。
那么,如何用ShaderJoy代码绘制一个“月亮”呢?下面,我们就来一步步操作一下:
1. 创建一个新的ShaderJoy项目
2. 在代码编辑器中输入以下代码:
uniform vec2 iResolution;
uniform float iTime;
void main() {
vec2 fragCoord = gl_FragCoord.xy - 0.5 * iResolution.xy;
vec2 uv = fragCoord / iResolution.y;
float dist = length(uv - 0.5);
float brightness = 1.0 - smoothstep(0.1, 0.5, dist);
vec3 color = vec3(brightness);
gl_FragColor = vec4(color, 1.0);
}
3. 按下F5键运行代码
此时,你将在ShaderJoy窗口中看到一个圆形的“月亮”。你可以通过调整代码中brightness
变量的值来改变“月亮”的亮度,也可以通过调整dist
变量的值来改变“月亮”的大小。
除了绘制“月亮”之外,ShaderJoy还可以用来创建各种各样的其他图形效果。比如,你可以用它来创建星星、云朵、流水等。
总之,ShaderJoy是一款功能强大、易于使用的实时GLSL渲染器。你可以用它来创建各种各样的图形效果,包括中秋节主题的“月亮”。
最后,祝各位读者中秋节快乐!
代码地址: ShaderJoy - Create a Moon
相关文章:
相关教程:
参考:
- 苏轼,《水调歌头·丙辰中秋》
- ShaderToy官方文档:https://www.shadertoy.com/
**