markdown KodeLife片段着色器草图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown KodeLife片段着色器草图相关的知识,希望对你有一定的参考价值。
#version 150
uniform float time;
uniform vec2 resolution;
out vec4 fragColor;
const float PI = 3.14159265359;
float rand(float x, float y)
{
return fract(sin(dot(vec2(x, y), vec2(12.9898, 78.233))) * 43758.5453);
}
void main(void)
{
vec2 p = gl_FragCoord.xy / resolution * 2 - 1;
p.x *= resolution.x / resolution.y;
p = vec2(atan(p.y, p.x) / PI / 2 + 0.5, length(p));
p.y = p.y * 4 - time * 2;
float r = floor(p.y);
p.x *= ceil(8 * rand(r, 0.1));
p.x += time * mix(-2, 2, rand(r, 0.2));
fragColor = vec4(step(0.5, fract(p.y)) * step(0.3, fract(p.x)));
}
![gif](https://i.imgur.com/LbBPHA9.gif)
以上是关于markdown KodeLife片段着色器草图的主要内容,如果未能解决你的问题,请参考以下文章
markdown KodeLife片段着色器草图
片段着色器是不是处理来自顶点着色器的所有像素?
顶点着色器+片段着色器
如果几何着色器处于活动状态,如何将信息从顶点着色器传递到片段着色器?
Shader2.0的顶点着色器和片段着色器
GLSL:使用片段着色器进行对象翻译