Shader Laboratory
849 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
رندر حجمی نور باعث افزایش کارایی می شود و در عین حال عموما سریع تر از deferred shading است، بهترین بهینه سازی نیست. دو افزونه محبوب (و کارآمدتر) که در بالای deferred shading قرار دارند، به نام deferred lighting و tile-based deferred shading است. این موارد فوق العاده در رندر مقدار زیادی نور و همچنین اجازه می دهد MSAA نسبتا کارآمد باشد. با این حال، به خاطر طول این آموزش، من این بهینه سازی ها را برای آموزش بعدی ترجیح می دهم.
Deferred rendering vs forward rendering
خود deferred shading (بدون حجم نور) در حال حاضر یک بهینه سازی بزرگ است چون هر پیکسل فقط یک فرگمنت شیدر دارد، در مقایسه با forward rendering ، جایی که ما اغلب فرگمنت شیدر را چند بار در هر پیکسل اجرا می کنیم Deferred rendering با چند معایب همراه است: با سرعت مصرف زیاد حافظه(overhead )، بدون MSAA که با ترکیب کردن با forward renderingباید انجام شود.
هنگامی که شما یک صحنه کوچک و بدون چراغ های زیاد دارید ، , deferred rendering لزوما سریع تر نمی باشد و گاهی اوقات حتی به دلیل سربار هزینه کندتر است و که در این مورد استفاده ی آن معقول نیست. در صحنه های پیچیده تر، Deferred rendering سریع به یک بهینه قابل توجه می رسد؛ به خصوص با بهینه سازی پیشرفته بازی.
به عنوان یک نکته نهایی، من نیز می خواهم ذکر کنم که اساسا تمام اثراتی که می توان با forward rendering انجام داد نیز می تواند در یک زمینه deferred rendering اجرا شود؛ این اغلب فقط یک گام تبدیل کوچک نیاز دارد. به عنوان مثال، اگر ما می خواهیم از نرمال مپینگ در یک deferred rendering استفاده کنیم به جای نرمال سطح از یک ماتریس TBN استفاده می کنیم. نیازی به تغییر محاسبات پاس نور نداریم.
و اگر می خواهید parallax mapping کار کند شما قبل از نمونه برداری بافت های Diffuse و Specular یا Normal اول باید مختصات پاس geometry را تغییر دهید.
خب به پایان این آموزش رسیدیم امیدوارم براتون مفید باشه.وقتی این تکنیک رو یاد گرفته باشید می تونید از خلاقیتتون استفاده کنید و اونو به شکل دیگه ای پیاده کنید.
Kamali
Forward Rendering vs Deferred Rendering.docx
مطالب بالا رو به صورت فایل word هم گذاشتم
می تونید دانلود کنید
دوستان مطالب شاید کمی خسته کنند بوده

لذا در ادامه برای تنوع قصد داریم بریم سراغ مبحثی به نام
Reaction Diffusion

منتظر مطالب باشید😉
Forwarded from Kamali
مثالی دیگر از Reaction Diffusion
Shader Laboratory
GIF
سلام دوستان امروز قصد داریم به روند کلی Reaction Diffusion اشاره ای بکنیم
Shader Laboratory
https://www.youtube.com/watch?v=BV9ny785UNc
این ویدیو توضیح کامل و جامع رو داده ولی خب من خلاصشو براتون آماده کردم:

ایده ی اصلی اینه که فرض کنید می خوایم دوتا ماده ی شیمیایی رو با هم ترکیب کنیم
ما دوتا ماتریس برای نگهداری تولید قبلی و بعدی داریم که مثل یک چرخه عمل می کنه
با استفاده از فرمول reaction diffusion می تونیم تولید بعدی رو نسبت به تولید قبلی انجام بدیم در نتیجه بعد از مدتی تولید انجام میشه
نکته:در این فرمول ما مجموع همسایه ها در ماتریس رو با عملگر لاپلاس نشان دادیم
شبیه سازی مجازی واکنش دو ماده شیمیایی و انتشار در شبکه ی دوبعدی با استفاده از مدل Gray-Scott
ماده ی شیمیایی A با سرعت معینی به نام "سرعت تغذیه" اضافه می شود
واکنش: دوتا B یک A را به B تبدیل می کند، بطوریکه اگر B دوباره تولید شود از A به عنوان غذا استفاده می کند.
ماده شیمیایی B با سرعت معینی به نام "سرعت کشته شدن" حذف می شود.