رندرینگ (گرافیک رایانه‌ای)

پرداز زدن یا ارائهٔ ماشینی تصاویر یا نمایان‌سازی یا رندرینگ (به انگلیسی: Rendering) فرایند تولید ماشینی تصاویر بر پایهٔ مدل‌های محاسباتی، و سپس، ارائهٔ رایانه‌ای آن‌ها بر روی صفحهٔ نمایش را شامل می‌گردد.
در تعریف کلی: رندرینگ به فرایند نمایش تصاویر اجسام سه بعدی (3D) بر روی صفحهٔ نمایشگر دو بعدی گفته می‌شود.

انیمیشن رایانه‌ای

پویانمایی رایانه‌ای هنر ساخت تصاویر پویا با استفاده از رایانه‌ است که یکی از زیرمجموعه‌های گرافیک رایانه‌ای و پویانمایی است. ارائه یا رندرینگ از مراحل مهم در ساختن پویانمایی رایانه‌ای است. گاهی هدف رندرینگ در ساخت پویانمایی رایانه ایست ولی گاهی هم هدف رندرینگ در رسانه دیگری مانند فیلم است. در بسیاری از فیلم‌ها از آن استفاده و به عنوان CGI (تصاویر ساخت رایانه) یاد می‌شود.
در پویانمایی‌های ۳بعدی، همهٔ فریم‌ها باید پس از اینکه مدل‌سازی پایان یافت تفسیر شوند. در پویانمایی‌های ۲بعدی برداری، فرایند رندرینگ فریم کلیدی فرایند تصویرسازی است، درحالی‌که فریم‌های میانی چنان‌که لازم باشند تفسیر می‌شوند. برای نمایش‌های از پیش ضبط شده، فریم‌های ارائه شده، به یک فرمت یا رسانهٔ دیگر مانند فیلم یا تصویر دیجیتال (ارقامی) منتقل می‌شوند. همچنین ممکن است فریم‌ها به صورت بی‌درنگ درحالی‌که به کاربر نهایی نمایش داده می‌شود رندر شوند. رندرینگ بی‌درنگ در موتورهای بازی و شبیه‌سازها استفادهٔ گسترده‌ای دارد.

مقدمه

دنیای مجازی و ساختگی می‌تواند هر چیزی باشد، یک فیلم پویانمایی یا یک بازی ویدئویی ولی نکتهٔ مهم در تمام آن‌ها این است که قوانین فیزیکی موجود در دنیای واقعی باید تا حدودی بر روی آن اعمال شود تا دنیای مجازی را به دنیای واقعی ما نزدیک کند؛ در پویانمایی‌های رایانه‌ای این عمل توسط فرایندی به‌نام “رندرینگ ” صورت می‌پذیرد.
فرایند رندرینگ مهم‌ترین قسمت از ساخت دنیای مجازی است و مهم‌ترین عامل تمایز و تفاوت میان آنهاست. از آنجا که این مرحله تا این حد حائز اهمیت است، در این سند سعی شده مفاهیم کلی و بنیادی و نکات نسبتاً مهم در این زمینه تا حدودی بیان شود.

تاریخچه

در سال‌های ۱۹۷۰ و ۱۹۸۰ با کمک رایانه تحول عمیقی در پویانمایی آغاز شد. در سال‌های ۱۹۹۰ تأثیرات رایانه بر پویانمایی‌ها به اوج خود رسید تا بالاخره در سال ۱۹۹۵ اولین فیلم پویانمایی ای که به‌طور کامل با رایانه ساخته‌شده بود به پردهٔ سینماها رفت. تولید پویانمایی داستان اسباب‌بازی توجه تمام کسانی را که در ساخت پویانمایی فعالیت می‌کردند را جلب کرد و شرایط ایجاد انقلابی در زمینهٔ تکنیک‌های تولید پویانمایی را به خوبی ایجاد کرد.

اشکال اولیه

هر ارائهٔ سطح بالا از تصاویر و اشکال نیازمند اجزایی با دامنه‌های متفاوت از پیکسل‌ها می‌باشد، به این اجزا اشکال اولیه یا اشکال ابتدایی می‌گوییم.

مدل

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

صحنه

هر صحنه متشکل از تعدادی مدل است که طرز قرار گرفتن آن‌ها نسبت به یکدیگر و چگونهٔ طرح‌بندی فضا را مشخص می‌کند و رابطهٔ فضایی بین اشیا شامل مکان و اندازه را تعریف می‌کند. غیر از مدل‌ها دوربین‌ها منابع نور، جلوه‌های ویژه و اشیاء کمکی را نیز می‌توان در یک صحنه قرار داد.

تفسیر

به فرایند تصویر برداری از یک صحنهٔ سه بعدی، تفسیر می‌گویند؛ در این فرایند با اضافه کردن جزئیات فضای سه بعدی مثل سایه‌ها و تفاوت در تاریکی و روشنایی رنگ‌ها، به تصویر حالت واقع-گرایانه‌ای را القا می‌کنیم.

مفسر

وظیفهٔ تفسیر در گرافیک رایانه‌ای بر عهدهٔ نرم‌افزار رایانه‌ایست که به آن “مفسر” می‌گویند.

پویانمایی رایانه‌ای

هنر تولید تصاویر پویانمایی به وسیلهٔ رایانه را پویانمایی رایانه‌ای گویند. البته گاهی از پویانمایی رایانه برای بازسازی تصاویر در رسانهٔ دیگری مثلاً فیلم استفاده می‌شود. پویانمایی‌های رایانه‌ای را می‌توان به سه دستهٔ کلی تقسیم کرد:

پویانمایی‌های دوبعدی

پویانمایی‌های دوبعدی دسته‌ای از تصاویر ساخته شده به وسیلهٔ رایانه هستند که شامل مدل‌های دوبعدی مثل اشکال هندسی دوبعدی، نوشته‌ها و متون، و تصاویر دیجیتالی می‌باشند. این نوع پویانمایی‌ها معمولاً در برنامه‌های کاربردی‌ای که بر مبنای فناوری‌های سنتی پویانمایی‌سازی تولیدشده‌اند، به صورت دیجیتالی و روی رایانه ایجاد می‌شوند.
مراحل ایجاد یک پویانمایی دوبعدی را می‌توان به سه بخش عمده تقسیم کرد: مرحلهٔ ساخت و تصحیح اشکال، مرحلهٔ حرکت و ساخت فریم‌های کلیدی و مرحلهٔ مورفینگ یا تویینینگ می‌باشند.

ساخت اشکال

در این مرحله ما اشکال، اجسام و موجودات مورد نیاز در پویانمایی را به وسیلهٔ برنامهٔ کاربردی مثل ادوبی فلش یا پاورپوینت طراحی می‌کنیم. در صورت نیاز می‌توانیم برای موجودات طراحی شده اسکلت و اهرم‌های مجازی تعریف کنیم تا حرکت دادن آن‌ها در مرحلهٔ بعد ساده‌تر شود ولی به‌طور کلی اسکلت‌بندی در طراحی مدل‌های دوبعدی بر خلاف مدل‌های سه‌بعدی ضرورتی ندارد. در طراحی مدل‌های دوبعدی می‌توان از گرافیک بیت‌مپ یا برداری استفاده کرد.

ساخت فریم‌های کلیدی

برای ایجاد حرکت‌های مورد نظر در پویانمایی از لایه‌ها استفاده می‌کنیم و در فریم‌های کلیدی تغییرات حرکتی را اعمال می‌کنیم که شامل حرکاتی مثل حرکات اعضای بدن، چشم، لباس و ... می‌باشند.

مورفینگ

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

انواع

امروزه بیشتر پویانمایی‌های ساخته شده به کمک رایانه از این دسته‌اند. این دسته از پویانمایی‌ها می‌توانند با تقریب مناسبی بسیار واقعی و طبیعی به نظر برسند. پویانمایی‌های سه‌بعدی را می‌توان به دو دستهٔ واقع‌گرایانه و خیالی تقسیم کرد. پویانمایی‌های واقع‌گرایانه سعی دارند که مدل‌های موجود در جهان را در دنیای مجازی شبیه‌سازی کنند. پویانمایی‌های واقع‌گرایانه خود به دو دسته تقسیم می‌شوند؛ یک دسته شامل پویانمایی‌هایی است که سعی شده در آن‌ها مثل فیلم‌های واقعی شخصیت‌های انسانی مجازی بازی کنند، در واقع در این پویانمایی‌ها شخصیت‌های اصلی انسان‌ها هستند و زندگی آن‌ها به تصویر کشیده شده‌است. در مقابل دستهٔ دیگر مربوط به پویانمایی‌سازی دنیای اطراف انسان‌هاست که می‌تواند شامل حیوانات و اشیا باشد.
پویانمایی‌های خیالی دنیایی را تولید می‌کنند که در ذهن نویسنده بوده و مثال خارجی ندارد. این پویانمایی‌ها مملو از شخصیت‌های خیالی مثل هیولاها، پری، ارواح و ... می‌باشند. کارخانهٔ هیولاها ساخت مشترک والت‌دیزنی و پیکسار نمونهٔ خوبی برای این دسته‌اند.
مراحل ساخت پویانمایی‌های سه بعدی بسیار به پویانمایی دوبعدی نزدیک است. در بسیاری از فیلم‌های پویانمایی بعد از پرورش شخصیت‌ها و تهیهٔ صفحات داستانی ابتدا تمام اجزای اصلی را به صورت دوبعدی طراحی می‌کنند و پس از اتمام طراحی شخصیت دوبعدی به کمک آن مدل سه‌بعدی را به وجود می‌آورند.

ایجاد مدل سه بعدی

فرایند ایجاد مدلی برای ارائهٔ هر شیء سه بعدی (زنده یا غیرزنده) به وسیلهٔ صفت‌های هندسی و فرمول‌های ریاضی و تهیهٔ قالبی قابل تحویل برای رایانه را مدل‌سازی سه بعدی گویند که به وسیلهٔ نرم‌افزارهای خاص سه‌بعدی‌سازی صورت می‌گیرد مثلاً مایا یا تری‌دی‌مکس . خروجی فرایند مدلینگ چیزی شبیه به یک مجسمهٔ دیجیتالی است که از دسته‌ای از چند وجهی‌ها و اشکال ابتدایی به وجودآمده‌است. در این مرحله باید اسکلت‌بندی‌های لازم را برای مدل ایجاد کنیم و مفصل‌ها و اهرم‌ها، نقاط وزین و سنگین، بازه‌های حرکتی و محورهای دوران را مشخص کنیم. به اسکلت‌بندی و سایر کارهایی که جهت کنترل حرکت شخصیت‌ها در ساخت پویانمایی سه بعدی انجام می‌شود در اصطلاح طناب‌کشی می‌گویند.
به متغیرهایی که برای کنترل اجزای مختلف هر کاراکتر استفاده می‌شوند و مکان آن‌ها را نشان می‌دهند آوار می‌گویند. شخصیت “وودی ” در پویانمایی داستان اسباب‌بازی به تنهایی ۷۰۰ متغیر داشت که ۱۰۰ تای آن‌ها مربوط به عضلات صورت بودند. دو روش برای ایجاد مدل اولیه وجود دارد. در روش دستی یا سنتی انیماتور مدل را روی رایانه ایجاد می‌کند که بسیار شبیه هنر مجسمه سازی است. روش خودکار با استفاده از دستگاه‌های ورودی سه‌بعدی مثل اسکن فیزیکی سه بعدی انجام می‌شود.
بعد از تهیهٔ فرمت هندسی و فیزیکی باید سطوح را مشخص کنیم و برای آن‌ها رنگ، جنس و بافت مناسب را انتخاب کنیم. اعمال بافت و جنس بر روی مدل در مرحلهٔ رندرینگ انجام می‌شود که از مراحل مهم در جهت واقعی‌سازی تصاویر پویانمایی می‌باشد.

حرکت و نحوهٔ نمایش

پس از مشخص شدن طرح کلی اجزای پویانمایی باید به طراحی حرکات و وقایع پویانمایی و اجزای آن بپردازیم. ابتدا باید نحوه-ی قرار گرفتن اجزا نسبت به یکدیگر را مشخص کنیم و صحنه‌ها را طراحی کنیم. طراحی صحنه‌ها شامل محل قرارگرفتن دوربین و منبع نور هم می‌باشد که هر دو در مرحلهٔ بعد، رندرینگ بسیار تأثیرگذارند.
در مرحلهٔ بعد باید حرکات مربوط به اجزا شامل ایست و حرکت، چرخش، تغییر جهت، تغییر ویژگی‌های فیزیکی مثل اندازه و رنگ را طراحی کنیم. بسیاری از نکات حرکتی که در این مرحله باید اجرا شوند با مراجعه به صفحات داستان قابل استخراج هستند. این مرحله هم مثل مرحلهٔ قبل دو نحوهٔ پیاده‌سازی دستی و خودکار دارد. روش دستی بسیار به کاری که در پویانمایی دوبعدی انجام می-دادیم شبیه‌است با این تفاوت که ما اینجا ابتدا با استفاده از اسکلت-بندی‌ها و اجزای کنترلی شخصیت‌ها حرکات آن‌ها را در فریم‌های کلیدی پیاده‌سازی می‌کنیم و رایانه فریم‌های میانی را محاسبه می‌کند و تمام فریم‌ها برای مرحلهٔ رندرینگ آماده می‌شوند. به‌طور کلی در پویانمایی سه بعدی کنترل بر روی نحوه و چگونگی حرکت اجزا بسیار راحت‌تر و بیشتر است. در روش خودکار حسگرها و علامت‌هایی را به روی بدن یک انسان واقعی متصل می‌کنیم و او مثل یک بازیگر حرکت می‌کند و حرکات او را به وسیلهٔ رایانه از حسگرها استخراج و ثبت می‌کنیم. به این روش در اصطلاح استخراج حرکت می‌گویند.
استفاده از این روش تحت شرایطی مناسب است که حرکات انسانی مورد نظر ما باشد و انجام آن حرکت‌ها برای انسان امکان‌پذیر باشد که معمولاً این شرایط به وجود نمی‌آید. مثلاً در داستان اسباب‌بازی که شخصیت‌ها اسباب بازی بودند، حرکات معقول انسانی خیلی به کار نمی‌آمد بنابراین حرکات به صورت دستی پیاده‌سازی شدند.

موتورهای بازی

موتورهای بازی در حقیقت مؤلفهٔ نرم‌افزاری و اصلی هر بازی ویدئویی و هر برنامهٔ تعاملی است که محتوای گرافیکی بی‌درنگ تولید کند. موتور بازی یک سری از تکنولوژی‌های اساسی را مهیا می‌سازد و همچنین فرایند توسعه را تسهیل می‌کند و در بعضی مواقع بازی را قادر می‌سازد تا به گونه‌ای ساخته شود که به صورت چندزیرساختاری (مستقل از زیرساخت‌ها مثل سیستم‌عامل) و بر روی کنسول‌های بازی و رایانه‌های رومیزی اجرا شود. توانایی‌ها و قابلیت‌های اساسی که توسط موتور بازی در اختیار قرار می‌گیرد شامل یک تفسیرکننده برای گرافیک‌های دو بعدی و سه بعدی و موتور فیزیک و کاشف برخورد و صدا و پردازشگر اسکریپت و پویانمایی و هوش مصنوعی و قابلیت‌های شبکه‌ای و یک نمودار صحنه می‌باشد. موتورهای بازی را بعضی اوقات با نام میان افزار بازی نیز می‌شناسند.
بعضی از موتورهای بازی به جای کلیه قابلیت‌هایی که مورد نیاز یک بازی ویدئویی است تنها قابلیت رندرینگ بی‌درنگ سه بعدی را مهیا می‌سازند. این موتورها به توسعه‌دهندهٔ بازی اجازه می‌دهند که بقیه توانایی‌ها و قابلیت‌های مورد نیاز را فراهم نموده و مجموعه را تکمیل نماید که می‌توان آن‌ها را از بین اجزای میان‌افزار بازی‌های دیگر انتخاب نمود. این نوع از موتورها اغلب با نام‌های دیگری مانند موتور گرافیکی یا موتور رندرسازی یا موتور سه بعدی نیز شناخته می‌شوند. 
امروزه بسیار بر روی موتورهای بازی و اجزای سازندهٔ آن‌ها کار می‌شود و این امر باعث شده تا بین قسمت‌هایی مانند کارهای هنری و طراحی مراحل و رندرینگ و اسکریپ‌نویسی شکاف عمیقی ایجاد شود. به زبان ساده این امر باعث شده تا کارها تخصصی‌تر شود. امروزه در تیم‌های بزرگ توسعه بازی‌های رایانه‌ای و ویدئویی نسبت هنرمندان به برنامه‌نویسان ۴ به ۱ می‌باشد و این یک امر عادی به‌شمار می‌آیند. امروزه موتورهای بازی در زمره پیچیده‌ترین برنامه‌های رایانه‌ای هستند که تا به حال ایجاد شده‌است.
توسعه موتورهای بازی امروزه یکی از محبوب‌ترین پروژه‌ها در میان علوم رایانه‌ای می‌باشد و افراد بسیاری از دانشجویان و علاقه‌مندان و توسعه‌دهندگان بازی‌های رایانه‌ای به این موضوع می پردازند. از ملزومات توسعه موتورهای بازی داشتن دانش بسیار در طیف وسیعی از علوم، مانند هندسه و تئوری رنگ‌ها و محاسبات می‌باشد. بسیاری از افراد به‌طور مشتاقانه و غیرحرفه‌ای به این رشته می‌پردازند و از این کار لذت می‌برند ضمن اینکه محصول خود را به صورت منبع‌باز در اختیار بقیه می‌گذارند. "فضای کریستالی" یک موتور بازی رایگان است که به صورت منبع‌باز و چندزیرساختاری عرضه می‌شود و از محبوبیت خوبی نیز برخوردار است. 
گرافیک رایانه‌ای به‌طور کلی و رندرینگ و پویانمایی به‌طور خاص، نیاز به پیش زمینهٔ قوی در ریاضیات و الگوریتم‌های رایانه‌ای دارد. الگوریتم‌های رندرینگ نیاز به دانش در زمینهٔ هندسهٔ نسبی و انعکاسی و جبرخطی و انواع مدل‌های نور و رنگ دارد. پویانمایی نیازمند درک خوبی از ریاضیات پیوسته دارد. پویانمایی‌های خوب نیاز به گونه‌هایی از مدل‌های فیزیکی برای نمایش تأثیر نیروی جاذبه و نیروی تعاملی اشیا نیز دارد.

نتیجه‌گیری

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