Shader Laboratory
847 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
ما اول کار نرمال و تانژانت رو داریم ولی bitangent (بهش binormal هم میگن ) رو نداریم به خاطر همین از Cross Product استفاده می کنیم تا بدستش بیاریم
#سوال
ماتریس TBN چیست؟
و چرا از آن باید استفاده کنیم
ما در برنامه نویسی گرافیک برای تبدیل فضا های مختلف از ضرب ماتریس ها برای تبدیل فضاها به فضاهای دیگر استفاده می کنیم
ماتریس TBN برای تبدیل world Space به Tangent Space استفاده میشه
نرمال مپ ها معمولا به دلایل مختلف در فضای تانژانت ذخیره می شوند (به دلیل دقت بهتر ،مپ ها می توانند بین چندین اشیاء به اشتراک گذاشته شوند، اشیا می توانند انیمیت شده باشند، و غیره). اگر می خواهید در فضای world space را نور پردازی کنید باید نرمال مپ در هر پیکسل(per-pixel) خود را با استفاده از ماتریس TBN به فضای جهان تبدیل کنید. بهینه سازی رایج این است که در عوض light خود را به فضای تانژانت در هر رأس تبدیل کرده و آن را در طول مثلث بچرخانید. خوبیه این روش اینه که دیگه ماتریس در هر پیکسل محاسبه نمیشه چون این روش خیلی کارو سنگین می کنه و در عوض محاسبات در هر ورتکس انجام میشه.

این بهینه سازی در سخت افزار قدیمی تر محبوب تر بود که در آن عملکرد و پیچیدگی های پیکسل شیدر به شدت کنترل می شد.در این روش چه یک منبع نور ، چه چند منبع نور در پاس رندرمون داشته باشیم ناچاریم هر منبع نور رو به world space تبدیل کنیم تا صرفه جویی در مصرف انرژی کنید. امروزه بیشتر احتمال دارد رندرهای منتخب را مشاهده کنید که تمام نرمال ها را به world space می کنند و آنها را به G-Buffer و یا forward / forward-plus renderers اضافه می کنند که چندین چراغ را در یک پاس رندر می کنند و به طور کلی بیشتر می شود کارآیی انجام محاسبات روشنایی در فضای جهانی.


https://stackoverflow.com/questions/40703272/is-tbn-matrix-really-rotation-matrix-in-nature
سلام دوستان به دلیل در خواست های زیادی که درباره ی نحوه ی تبدیل ShaderToy glsl به Unity CG/Hlsl داشتم یک آموزش در این باره ساختم

https://forum.unity.com/threads/converting-a-shadertoy-multipass-shader-to-unity-hlsl.418238/
Shader Laboratory
Fog tutorial http://in2gpu.com/2014/07/22/create-fog-shader/
دوستان من سعی کردم این آموزش رو تو یونیتی پیاده سازی کنم اما یکسری مشکل داره که ان شاء الله بعداً اصلاحش می کنم
DepthTest.shader
7 KB
پیاده سازی Depth
اگر شما یک توسعه دهنده بازی های سه بعدی هستید، احتمالا تا حالا اسم forward rendering و deferred rendering به گوشتون خورده. درواقع شما باید یکی از آن دو را انتخاب کنید تا در بازی خود استفاده کنید. اما آیا تا به حال فکر کردید آنها چه هستند ، چه تفاوتی دارند و کدام یک را باید انتخاب کنید؟
با ما همراه باشید تا جلو تر این دو شیوه ی رندرینگ را تعریف و مقایسه کنیم تا شما را از سردر گمی نجات دهیم.
Deferred Rendering for many lights