Shader Laboratory
843 subscribers
265 photos
15 videos
59 files
404 links
Shader Laboratory
a channel about shaders in telegram

ID : @smkgames

MyStack : goo.gl/smMuqe 😎👌
Download Telegram
سپس یک موج سینوسی اعمال می کنیم
sin(x)
ما به موج کوچک تری نیاز داریم تا زیاد به چشم نیاید
می خواهیم قله و دره ها را مطابق این موج نوسان دهیم
sin(0.2 * x)
قبل از اعمال موج سینوسی
بعد از اعمال موج سینوسی
خب الان شاید بگید چه فرقی کرد؟🙄

اینجا براتون بیشتر توضیح دادم:
https://www.desmos.com/calculator/nvtx7ckjji
برای درک بیشتر مقادیر را بزرگ تر در نظر بگیرید به عنوان مثال:
tan(x + sin(3*x))
void mainImage(out vec4 o, vec2 p)
{
p.y /= iResolution.y;
p.y += tan(iTime + sin(.2 * p.x));
o = vec4(0., p.y, 0., 1.);
}
حالا یه تانژانتم اضافه می کنیم تا قله ها و دره های نا منظم تری داشته باشیم
tan(x + sin(.2*x) + tan(x))
و در نهایت برای اینکه خطوط از کمرنگ به پررنگ به صورت smooth بروند از تابع smoothstep استفاده می کنیم
(بنابر توصیه ی کتاب The Book of shader توی کدم از شرط استفاده نکردم به جاش smoothstep استفاده کردم پس همیشه سعی کنید از توابع بیلتین خود زبان شیدر نویسی استفاده کنید)
void mainImage(out vec4 o, vec2 p)
{
p.y /= iResolution.y;
p.y += tan(iTime + tan(p.x) + sin(.2 * p.x));
o = vec4(0., smoothstep(p.y,p.y*5.0,0.5), 0., 1.);
}
پس زمینه رو برای اینکه قشنگ تر بشه می تونیم یکم سبز کنیم
برای تمرین رسم کردن گراف-توی رو به شما پیشنهاد می کنم