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
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.);
}
پس زمینه رو برای اینکه قشنگ تر بشه می تونیم یکم سبز کنیم
برای تمرین رسم کردن گراف-توی رو به شما پیشنهاد می کنم
Shader"ShaderMan/MyShader"{

SubShader{
Pass{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag

#include "UnityCG.cginc"
struct appdata{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};

struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
float4 screenCoord : TEXCOORD1;
};

v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
o.screenCoord.xy = ComputeScreenPos(o.vertex);
return o;
}
fixed4 frag(v2f i) : SV_Target{
{
i.vertex.y /= _ScreenParams.y;
i.vertex.y += tan(_Time.y + tan(i.vertex.x) + sin(.2 * i.vertex.x));
return fixed4(0., .3 + (i.vertex.y < 0. ? 0. : 1. - i.vertex.y * 3.), 0., 1.);
}
}ENDCG
}
}
}
این داستان ادامه دارد... (:
منتظر ادامه ی این آموزش باشید
سلام دوستان بعد از مدت ها بالاخره فرصت شد ادامه ی این آموزش رو بزارم...
برای نوشتن شیدر ماتریکس نیاز داریم تا حروف الفبا رو با شیدر بنویسیم چون قراره نوشته ها پایین بیان اما چطوری؟!
به نظرم بهتره یه چیز ساده براتون توضیح بدم به جای اینکه تک تک حروف رو با کد در بیاریم.
با رندوم میشه یه چیز ساده نوشت که در صورت تمایل می تونید گسترشش بدید...
خب برای شروع uv رو خروجی میگریم