Shader Laboratory
845 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
Forwarded from Kamali
Forwarded from Kamali
1.همیشه باید قبل از رسم یک شکل تعریفشو بدونیم و همچنین
تعریف دایره : دایره مکان هندسی نقاطی از صفحه است که فاصله‌شان از نقطهٔ ثابتی واقع در آن صفحه، مقدار ثابتی باشد. نقطهٔ ثابت مرکز دایره و مقدار ثابت اندازهٔ شعاع دایره نامیده می‌شود.
2.همیشه بهتره دوبعدیشو در نظر بگیریم چون سه بعد شاید برامون یکم پیچیده باشه
به عنوان مثال به جای اینکه sphere رو تصور کنیم circle رو تصور می کنیم چون رسم و تصورش راحت تره
Forwarded from Kamali
شکل دومی محاسباتش خیلی شبیه به شکل اولی هست اما دو تفاوت داره یکی از تابع max و یکی از تابع abs یا absolution (قدرمطلق) استفاده شده که در ادامه بهش می پردازم
Forwarded from Kamali
تو ریاضیات ما یک چیزی داریم تحت عنوان Positive and negative parts

https://en.wikipedia.org/wiki/Positive_and_negative_parts
Forwarded from Kamali
به عنوان مثال
اگر x =5 باشه جواب همون 5 هست
اگر x = -5 باشه جواب 0 هست
Forwarded from Kamali
حالا این به چه درد می خوره!
به درد discard کردن می خوره
Forwarded from Kamali
من تو ShaderToy قدم به قدم پیش رفتم اصلاً بدون این تابع هم میشه با if-else statement
Forwarded from Kamali
return length(p)-b;
Forwarded from Kamali
float udBox( vec3 p, vec3 b )
{
در محور x شکل رو ادامه میدیم
if(p.x<0.){
p.x = 0.;
}

return length(p)-b;
}
Forwarded from Kamali
float udBox( vec3 p, vec3 b )
{
در محور x شکل رو ادامه میدیم
if(p.x<0.){
p.x = 0.;
}
در محور y شکل رو ادامه میدیم
if(p.y<0.){
p.y = 0.;
}

return length(p)-b;
}
Forwarded from Kamali
3.webm
956.4 KB
float udBox( vec3 p, vec3 b )
{
if(p.x<0.){
p.x = 0.;
}

if(p.y<0.){
p.y = 0.;
}

if(p.z<0.){
p.z = 0.;
}

return length(p)-b;
}
Forwarded from Kamali
ولی خب ببین خیلی طولانی شده!
البته برای خلاصه نوشتن بین شرط ها && هم میشه کرد ولی بهتره از معادل تابع ریاضیش استفاده کنیم

float udBox( vec3 p, vec3 b )
{
return length(max(p-b,0.));
}
Forwarded from Kamali
اما شکل هنوز کامل نشده!
یک مشکلی داره و اونم اینه که انگار نصف مکعبه و کُلش نیست!
بهتره از دیدگاه دوبعدی بهش نگاه کنیم تا مشکلش رو بفهمیم
Forwarded from Kamali
Square.PNG
299.8 KB
شکل اینم براتون رسم کردم
همون طور که می بینید از abs برای تقارن uv استفاده شده استفاده شده
Forwarded from Kamali
final shape.webm
439.1 KB
اینم شکل نهایی مکعب
Forwarded from Kamali
The Book Of Shaders Examples By Seyed Morteza Kamali.docx
10.9 MB
اینم تمرینات کتاب The Book Of Shader هست که قبلاً انجام دادم
تمرینات این کتاب که به زبان glsl هست رو در محیط NodeBase رسم کردم
امیدوارم مفید باشه
Nodes:
http://acegikmo.com/shaderforge/nodes/
Forwarded from Kamali
خب حالا که کار دستتون اومد می تونید این کارو گسترش بدید
Forwarded from Kamali
می تونید از جبر مجموعه ها – اشتراک، اجتماع، تفاضل استفاده کنید تا یک شکل جدید بسازید