کانال بازی سازی تلگرام
شیدر چیست؟ what is shader in game development :: آموزش ساخت بازی اندروید+پکیج های تخصصی

آموزش ساخت بازی اندروید+پکیج های تخصصی

هرگز دل من ز علم محروم نشد
کم ماند ز اسرار که معلوم نشد
هفتاد و دو سال فکر کردم شب و روز
معلومم شد که هیچ معلوم نشد
---
تمام اعمالی که انجام می دهیم، حتی اگر ذره ای و مثقالی باشد، به خودمان باز می گردد و بازتابش آنها را در زندگی خواهیم دید. زلزال ۷
او کسی است که (روح) شما را در شب (به هنگام خواب) میگیرد; و از آنچه در روز کرده‏اید، با خبر است; سپس در روز شما را (از خواب) برمیانگیزد; و (این وضع همچنان ادامه مییابد) تا سرآمد معینی فرا رسد; سپس بازگشت شما به سوی اوست; و سپس شما را از آنچه عمل میکردید، با خبر میسازد. انعام ۶۰
دلها به یاد خدا آرام میگیرد. رعد آیه ۲۷
بدانید زندگی دنیا تنها بازی و سرگرمی، و تجمل پرستی و تفاخر در میان شما و افزون طلبی در اموال و فرزندان است . حدید آیه ۲۰
آن خدایی که آدمی را از خون بسته (که تحول نطفه است) بیافرید.
بخوان و (بدان که) پروردگار تو کریم‌ترین کریمان عالم است.
آن خدایی که بشر را علم نوشتن به قلم آموخت.
به آدمی آنچه را که نمی‌دانست تعلیم داد.
راستی که انسان سرکش و مغرور می‌شود.
چون که خود را در غنا و دارایی ببیند. علق ۲- ۷
این زندگانی چند روزه دنیا افسوس و بازیچه‌ای بیش نیست، عنکبوت ۶۴
در روی زمین به تکبر راه مرو که نمی توانی زمین را بشکافی و هرگز قامتت به بلندای کوهها نمی رسد. اسراء ۳۷
در آنچه خداوند بر تو بخشیده است، سرای آخرت را بجوی و سهم خود را از دنیا فراموش مکن و همانگونه که خدا به تو نیکی کرده است نیکی کن و هرگز فساد در زمین منما که خدا مفسدان را دوست ندارد. قصص ۷۷
و هرگاه نعمت و رحمتی به انسان بچشانیم و سپس آن را از او برگیریم او مأیوس و نومید میشود و به کفران و ناسپاسی بر میخیزد. هود ۹
بندگان مرا آگاه ساز که من بسیار آمرزنده و مهربانم. حجر ۴۹
از رحمت خدا نا امید مباشید که جز کافر هیچ کس از رحمت خدا نا امید نیست. یوسف ۸۷
پس به یاد من باشید تا به یاد شما باشم. بقره ۱۵۲
زندگانی دنیا چیزی جز متاع فریبنده نیست . آل عمران ۱۸۵
از آنچه به شما روزی داده ایم پیش از آنکه روزی فرا رسد که نه معامله ای وجود دارد و نه دوستی و شفاعت ، انفاق کنید. بقره ٢۴۵
بسا چیزی را ناخوش داشته باشید که آن به سود شماست و بسا چیزی را دوست داشته باشید که به زیان شماست، و خدا میداند و شما نمیدانید. بقره ۲۱۶
ما آیات (خود) را برای شما بیان کردیم شاید اندیشه کنید...حدید ۱۷

پیوندهای روزانه
پیوندها

شیدر چیست؟ what is shader in game development

شنبه, ۱ آبان ۱۳۹۵، ۰۵:۳۰ ب.ظ

gameover.blog.ir

مترجم:sajjad3011


shader ، سایه گذار:

در صنعت گرافیک های کامپیوتری،شیدر یک برنامه ی کامپیوتری است که عمل  سایه زدن را یا shading انجام می دهد.


shading ، سایه زدن :

عملیات تولید سطوح مناسب از رنگ در یک تصویر، یا، در دوران مدرن، نیز برای تولید جلوه های ویژه و یا انجام ویدئویی post-processing .(نکته: پست پروسسینگ یعنیفرایندهایی که باعث بالابردن کیفیت رندر میشن)


شیدر نویسی یعنی نوشتن کدهایی که باعث ایجاد سایه روی قسمت هایی از سطح مدل ما می شن تا نور به بخش های برخورد کنه و از بخش هایی به طور خاصی منعکس بشه.


مثال: شیدر فونگ و شیدر فلت(صاف و تحت) رو در دو تصویر شکل زیر می بینید:

http://s8.picofile.com/file/8271814650/Phong_shading_sample.jpg

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



شیدرها اثرات رندر روی سخت افزار های گرافیکی را با درجه بالایی از انعطاف پذیری محاسبه می کنند.

بیشتر شیدرها برای بکار گیری واحد پردازشگر گرافیکی یا GPU (یک cpu ی دیگه داخل کارت گرافیک هست که باعث میشه سی پی یوی اصلی دیگه درگیر پردازش های سنگین بازی نشه)،کدنویسی شده اند،هر چند نیاز شدیدی به این کار نباشد،اما اینکار باعث بهینه سازی و هنگ نکردن سیستم میشه.

شیدر نویسی زبان مخصوص خودش رو داره و در یک فایل جدا کدش رو با ساختار خاصی می نویسیم و برای برنامه دادن به قطعه ی سخت افزاری programmable GPU rendering pipeline یا خطوط لوله ای شکلی که روی سخت افزار GPU ی برنامه پذیر وجود داره ،بکار می ره و که عمدتا جایگزین خط لوله ای شکل تک وظیفه ای شده است که اجازه تنها تبدیلات هندسی مشترک و توابع سایه زنی پیکسلی را دارد.به ویله شیدرها می تونی افکت های سفارشی ایجاد کنیم.

با استفاده از شیدر و  الگوریتم های تعریف شده در شیدر  می توان،موقعیت، رنگ، اشباع، روشنایی و کنتراست همه پیکسل ها، رئوس، یا تکستچرها  را تعریف کرد و همچنین با استفاده از  متغیرهای خارجی  و یا تکستچر معرفی شده توسط برنامه فراخوانی شده به اسم شیدر می توان خصوصیات ذکر شده را  برای رندر یک تصویر نهایی بکار برده و یا تغییر دهیم.

از شیدرها برای ایجاد جلوه های سینمایی post processing و تصاویر تولید شده ی کامپیوتری و بازیها در سطح وسیعی استفاده می کنند.

از سوی دیگر از شیدرها برای روشنایی مدل های ساده، استفاده پیچیده تر شامل تغییر رنگ، اشباع، روشنایی و / یا کنتراست از یک تصویر، تولید تاری، شکوفه نور، نور حجمی، نقشه برداری عادی برای اثرات عمق، بوکه، سایه های قابل شارژ، پوستریزاسیون، دست انداز نقشه برداری، اعوجاج، کلید زنی رنگی (به اصطلاح "پرده سبز پرده آبی /")، تشخیص لبه و تشخیص حرکت، اثرات روانگردان، و طیف گسترده دیگری استفاده می شود.


برخی از انواع شیدرها:

دو بعدی یا 2D Shaders
پیکسلی یا Pixel shaders
 سه بعدی یا 3D Shaders
رئوسی یا Vertex shaders
هندسی یا Geometry shaders
موزاییک کاری یا Tessellation shader
محاسباتی یا Compute shaders
...


* نکته:(برای درک پایپ لاین می تونید چند لوله رو فرض کنید که مثلا شش دستور واردش میشه و ظرفیت نگه داری همین 6 دستور رو داره و اولین دستوری که از لوله خارج شد میره توی گام یا لوله ی بعدی و همینطور می یاد پایین و در هر لوله یک سری عملیات روی اونها انجام میشه و این مبحث رو باید توی درس معماری کامپیوتری بخونید تا بهتر درک کنید قضیه رو)

نکته: زبان شیدر نویسی GLSL or GLslang هست و معمولا توی یک فایل متنی با پسوند مورد نیاز در یونیتی یا سایر انجین ها می سازیمش و بعدش می تونیم به مدلهای دلخواه ربطش بدیم تا بر حسب ورودی یا تنظیمات لازم افکت های دلخواه رو روی مدل پیاده سازی کنیم.


نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی