Shader Laboratory
840 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 UnityChan(Channel) (FPro Sensei)
Npr (Non-photorealistic rendering)

حوزه‌ای از گرافیک رایانه‌ای است که بر توانمندسازی طیف گسترده‌ای از سبک‌های بیانی برای هنر دیجیتال تمرکز دارد، برخلاف گرافیک رایانه‌ای سنتی که بر فوتورئالیسم تمرکز دارد. NPR از حالت های هنری دیگر مانند نقاشی، طراحی، تصویرسازی فنی و کارتون های متحرک الهام گرفته شده است. NPR در فیلم‌ها و بازی‌های ویدیویی به شکل انیمیشن cel-shaded (همچنین به عنوان سایه‌زنی تون شناخته می‌شود) در واقع در شیدر تون خبری از رندر مبتنی بر فیزیک نسیت و این خاصیت باعث تون شدن شیدر میشه
Forwarded from UnityChan(Channel) (FPro Sensei)
مجموعه دوره های آموزش تخصصی NPR در UnityChan با FProSensei

توضیح روش های ساخت اوت لاین پیشرفته در یونیتی و تفاوت آنها با مثال :
Forwarded from UnityChan(Channel) (FPro Sensei)
توضیح بسیار جامع و مفهومی رندر شیدر توسط کار تیمی CPU و GPU

شعار ما : یادگیری شیدر نویسی بصورت مفهومی با UnityChan
This media is not supported in your browser
VIEW IN TELEGRAM
Shaders really feel like magic sometimes

Since my game is built around replay systems, I needed a lightweight net effect that could smoothly simulate forward and backward for users.

What surprised me is how well it worked in practice... Not only did it stay performant, it also made the interaction feel much more intentional and satisfying.

شیدرها واقعاً بعضی وقت‌ها مثل جادو به نظر می‌رسند
از آنجایی که بازی من بر پایه سیستم‌های ریپلی (Replay) ساخته شده، به یک افکت سبک برای تور نیاز داشتم که بتواند برای بازیکن‌ها به‌صورت روان هم در جهت جلو و هم در جهت عقب شبیه‌سازی شود.
چیزی که من را شگفت‌زده کرد این بود که در عمل چقدر خوب جواب داد... نه‌تنها عملکرد (Performance) بازی را حفظ کرد، بلکه باعث شد تعامل با آن بسیار هدفمندتر و رضایت‌بخش‌تر به نظر برسد.

به جای فیزیک از شیدر استفاده کرده
مختصات توپ موقع برخورد رو داده
به شیدر و از اون نقطه این موج سبز و قرمز و خاکستری رو اجرا کرده ( شکلش شبیه یک حلقه هست که شعاعش زیاد میشه)
بعدش هم اینو به ورتکس شیدر داده تا موج ایجاد بشه
🔥12
Shader Laboratory
Video
آموزش رندر گراف
دوستانی که نمی تونند دانلود کنند تو آپارات هم آپلود کردم
4
👍4
Shader Laboratory
Photo
رندرگراف یکی از پیشرفته‌ترین و کارآمدترین سیستم‌های معماری رندرینگ در موتور بازی‌سازی یونیتی (Unity) است که با هدف بهینه‌سازی جریان اجرای دستورات گرافیکی طراحی شده است.

در ادامه، معرفی دقیق و فنی این سیستم را برای درک بهتر ساختار و مزایای آن مرور می‌کنیم:


رندر گراف چیست؟

به زبان ساده، Render Graph یک سیستم مدیریت اجرای رندرینگ است که به جای اینکه به شما اجازه دهد مستقیماً دستورات GPU را پشت سر هم بنویسید (مانند روش‌های قدیمی‌تر در Scriptable Render Pipeline یا SRP)، فرآیند رندر را به صورت یک گراف از وابستگی‌ها (Dependency Graph) مدیریت می‌کند.

در این سیستم، شما ابتدا «ساختار» و «داده‌های مورد نیاز» برای هر مرحله از رندرینگ را تعریف می‌کنید و سپس یونیتی خود تصمیم می‌گیرد که چگونه این مراحل را بهینه‌ترین شکل ممکن اجرا کند.

چرا به Render Graph نیاز داریم؟ (مشکلات روش‌های سنتی)

در پایپ‌لاین‌های سنتی (مثل Built-in یا حتی نسخه‌های اولیه URP/HDRP)، مدیریت منابع (مانند بافت‌ها/Textureها) و زمان‌بندی اجرای دستورات (Command Buffers) کاملاً دستی بود. این موضوع چند مشکل اساسی ایجاد می‌کرد:
1. مدیریت حافظه دشوار: برنامه‌نویس باید دقیقاً می‌دانست چه زمانی یک بافت (Render Target) را آزاد کند تا حافظه بیهوده مصرف نشود.
2. عدم کارایی در موازی‌سازی: به دلیل ماهیت خطی (Linear) دستورات، استفاده بهینه از تمام هسته‌های پردازنده (CPU) و قابلیت‌های Async GPU دشوار بود.
3. پیچیدگی در تغییرات: اضافه کردن یک افکت جدید (مثلاً Bloom) نیاز به تغییرات گسترده در کد داشت چون وابستگی‌های مراحل قبلی باید به دقت مدیریت می‌شد.

رندرگراف چگونه کار می‌کند؟

این سیستم از یک الگوی دو مرحله‌ای استفاده می‌کند:

1. مرحله تنظیم (Setup Pass): در این مرحله، شما چیزی رندر نمی‌کنید! بلکه فقط «نقشه راه» را ترسیم می‌کنید. می‌گویید: «من برای این مرحله به یک Depth Buffer نیاز دارم، خروجی مرحله قبل را به عنوان ورودی استفاده می‌کنم و در نهایت خروجی نهایی را در یک Texture ذخیره می‌کنم.»

2. مرحله اجرا (Execution Pass): سیستم Render Graph تمام این نقشه‌ها را بررسی می‌کند. متوجه می‌شود کدام بافت‌ها دیگر نیاز نیستند (پس حافظه آن‌ها را بلافاصله آزاد می‌کند) و کدام مراحل را می‌تواند به صورت موازی (Parallel) انجام دهد. در نهایت، دستورات را برای کارت گرافیک می‌فرستد.

مزایای کلیدی Render Graph

* مدیریت خودکار حافظه (Transient Resource Management): این سیستم هوشمندانه تشخیص می‌دهد که چه زمانی بافت‌های موقت (مانند G-Buffer یا Depth) دیگر استفاده نمی‌شوند و بلافاصله حافظه آن‌ها را برای کارهای دیگر بازپس می‌گیرد.
* افزایش عملکرد (Performance): به دلیل حذف کارهای تکراری و مدیریت هوشمندِ زمان‌بندی (Culling و Syncing)، فشار روی CPU به شدت کاهش می‌یابد.
* کدنویسی تمیزتر: شما دیگر درگیر مدیریت مستقیم Command Bufferها نمی‌شوید. کدها ماژولارتر می‌شوند و اضافه کردن یا حذف کردن افکت‌های گرافیکی (مثل Post-processing) بسیار آسان‌تر است.
* رفع باگ‌های سینک (Synchronization): بسیاری از خطاهای گرافیکی ناشی از تلاش برای خواندن از منبعی است که هنوز رندر آن تمام نشده. Render Graph با درک کامل وابستگی‌ها، این خطاها را به صورت خودکار مدیریت می‌کند.

چه زمانی از آن استفاده کنیم؟

امروزه، Render Graph هسته‌ی اصلی پایپ‌لاین‌های مدرن یونیتی مانند HDRP و نسخه‌های جدید URP است. اگر شما در حال توسعه یک بازی با گرافیک بالا هستید یا می‌خواهید یک Custom Render Pipeline بنویسید، یادگیری ساختار Render Graph نه تنها پیشنهاد می‌شود، بلکه برای بهره‌برداری از قدرت سخت‌افزارهای امروزی ضروری است.



خلاصه:
اگر روش‌های قدیمی رندرینگ را «نوشتن یک لیست از کارهای دستی و پرخطا» در نظر بگیریم، Render Graph یک «مدیر پروژه هوشمند» است که لیست کارهای شما را می‌گیرد، آن را بهینه می‌کند، منابع مورد نیاز را مدیریت می‌کند و با حداکثر سرعت اجرا می‌نماید.
🔥3
New Edition for Unity 6
The Unity Shaders Bible
Learn shaders step by step, from basics to advanced, improve your game's visuals in Unity, and become a technical artist.
Fabrizio Espíndola
Second Edition

کتاب مقدس شیدرهای یونیتی (The Unity Shaders Bible)
یادگیری شیدرها به‌صورت گام‌به‌گام، از مباحث پایه تا پیشرفته؛
جلوه‌های بصری بازی خود را در یونیتی بهبود دهید و به یک هنرمند فنی (Technical Artist) تبدیل شوید.

سلام دوستان قبلا ورژن قدیمی این کتاب رو گذاشته بودم کانال این ورژن نسبتا جدید تره
#unity #shader
🔥7