[GLSL]着色器周记03

本文介绍了一种使用GLSL着色语言绘制Mandelbrot集合的方法。通过给出的GLSL代码片段,我们可以看到如何利用迭代算法来确定每个像素是否属于Mandelbrot集合,并赋予不同的颜色值。
懒惰的一周~
http://www.cnblogs.com/easymind223/archive/2012/07/05/2578231.html
http://glslsandbox.com/e#21606.0
↑根据它们的指导做出来的Mandelbrot集~
 #version 440
 
#define r 300.0
 
uniform int _t;
 
vec2 center = vec2(1366.0 / 2.0, 768.0 / 2.0);
 
void main() 
{
vec2 c = vec2((gl_FragCoord.x - center.x) / r, (gl_FragCoord.y - center.y) / r);
vec3 color;
vec2 z = c;
float a = 0;
for(int i = 0;i < 64;i++)
{
a = float(i);
z = vec2(z.x * z.x - z.y * z.y, 2 * z.x * z.y) + c;
if(length(z) > 32)
break;
}
gl_FragColor = vec4(vec3(a / float(20)), 1.0);
}

图片

转载于:https://www.cnblogs.com/tkgamegroup/p/4228255.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值