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

رهگیری پرتو با استفاده از برنامه آزاد و متن باز POV-Ray
پرداز زدن یا ارائه ماشینی تصاویر یا نمایان‌سازی یا رندرینگ فرایند تولید ماشینی تصاویر بر پایه مدل‌های محاسباتی، و سپس، ارائه رایانه‌ای آن‌ها بر روی صفحه نمایش را شامل می‌گردد.
در تعریف کلی: رندرینگ به فرایند نمایش تصاویر اجسام سه بعدی( 3D ) بر روی صفحه نمایشگر دو بعدی گفته می‌شود.
انیمیشن رایانه‌ای
پویانمایی رایانه‌ای هنر ساخت تصاویر پویا با استفاده از رایانه‌است که یکی از زیرمجموعه‌های گرافیک رایانه‌ای و پویانمایی است. ارائه یا رندرینگ از مراحل مهم در ساختن پویانمایی رایانه‌ای است. گاهی هدف رندرینگ در ساخت پویانمایی رایانه ایست ولی گاهی هم هدف رندرینگ در رسانه دیگری مانند فیلم است. در بسیاری از فیلم‌ها از آن استفاده و به عنوان CGI (تصاویر ساخت رایانه) یاد می‌شود.
در پویانمایی‌های ۳بعدی، همه فریم‌ها باید پس از اینکه مدل‌سازی پایان یافت تفسیر شوند. در پویانمایی‌های ۲بعدی برداری، فرایند رندرینگ فریم کلیدی فرایند تصویرسازی است، درحالی‌که فریم‌های میانی چنان‌که لازم باشند تفسیر می‌شوند. برای نمایش‌های از پیش ضبط شده، فریم‌های ارائه شده، به یک فرمت یا رسانه دیگر مانند فیلم یا تصویر دیجیتال (ارقامی) منتقل می‌شوند. همچنین ممکن است فریم‌ها به صورت بی‌درنگ درحالی‌که به کاربر نهایی نمایش داده می‌شود رندر شوند. رندرینگ بی‌درنگ در موتورهای بازی و شبیه‌سازها استفاده گسترده‌ای دارد.
مقدمه
دنیای مجازی و ساختگی می‌تواند هر چیزی باشد، یک فیلم پویانمایی یا یک بازی ویدئویی ولی نکته مهم در تمام آن‌ها این است که قوانین فیزیکی موجود در دنیای واقعی باید تا حدودی بر روی آن اعمال شود تا دنیای مجازی را به دنیای واقعی ما نزدیک کند؛ در پویانمایی‌های رایانه‌ای این عمل توسط فرایندی به‌نام “رندرینگ ” صورت می‌پذیرد.
فرایند رندرینگ مهم‌ترین قسمت از ساخت دنیای مجازی است و مهم‌ترین عامل تمایز و تفاوت میان آنهاست. از آنجا که این مرحله تا این حد حائز اهمیت است، در این سند سعی شده مفاهیم کلی و بنیادی و نکات نسبتا مهم در این زمینه تا حدودی بیان شود.
تاریخچه
در سال‌های ۱۹۷۰ و ۱۹۸۰ با کمک رایانه تحول عمیقی در پویانمایی آغاز شد. در سال‌های ۱۹۹۰ تاثیرات رایانه بر پویانمایی‌ها به اوج خود رسید تا بالاخره در سال ۱۹۹۵ اولین فیلم پویانماییی که به‌طور کامل با رایانه ساخته‌شده بود به پرده سینماها رفت. تولید پویانمایی داستان اسباب‌بازی توجه تمام کسانی را که در ساخت پویانمایی فعالیت می‌کردند را جلب کرد و شرایط ایجاد انقلابی در زمینه تکنیک‌های تولید پویانمایی را به خوبی ایجاد کرد.
لغات کلیدی
اشکال اولیه
هر ارائه سطح بالا از تصاویر و اشکال نیازمند اجزایی با دامنه‌های متفاوت از پیکسل‌ها می‌باشد، به این اجزا اشکال اولیه یا اشکال ابتدایی می‌گوییم.
مدل
توصیفی از اجسام سه بعدی به زبانی کاملا تعریف شده و ساخت‌یافته برای سیستم را مدل گویند. هر مدل از دسته‌ای از اشکال ابتدایی تشکیل شده و این اشکال به‌طوری در کنار هم قرار گرفته‌اند تا بتوانند حالت موجود مورد نظر را در ذهن بیننده القا کنند. هر چه تعداد چندوجهی‌های به کار رفته در یک مدل بیشتر باشد، جزئیات بیشتری را می‌توان به شکل مدل اضافه کرد که در اجسام پیچیده باعث می‌شود مدل به نمونه واقعی بسیار شبیه شود.
مدل ساز باید بداند با چه برنامه‌ای کار کند و از مدلی که می‌خواهد بسازد آگاه باشد مثلا باید بلو پرینت و چند عکس و مدل داشته باشد.
صحنه
هر صحنه متشکل از تعدادی مدل است که طرز قرار گرفتن آن‌ها نسبت به یکدیگر و چگونه طرح‌بندی فضا را مشخص می‌کند و رابطه فضایی بین اشیا شامل مکان و اندازه را تعریف می‌کند. غیر از مدل‌ها دوربین‌ها منابع نور، جلوه‌های ویژه و اشیاء کمکی را نیز می‌توان در یک صحنه قرار داد.
تفسیر
به فرایند تصویر برداری از یک صحنه سه بعدی، تفسیر می‌گویند؛ در این فرایند با اضافه کردن جزئیات فضای سه بعدی مثل سایه‌ها و تفاوت در تاریکی و روشنایی رنگ‌ها، به تصویر حالت واقع-گرایانه‌ای را القا می‌کنیم.
مفسر
وظیفه تفسیر در گرافیک رایانه‌ای بر عهده نرم‌افزار رایانه‌ایست که به آن “مفسر” می‌گویند.
پویانمایی رایانه‌ای
هنر تولید تصاویر پویانمایی به وسیله رایانه را پویانمایی رایانه‌ای گویند. البته گاهی از پویانمایی رایانه برای بازسازی تصاویر در رسانه دیگری مثلا فیلم استفاده می‌شود. پویانمایی‌های رایانه‌ای را می‌توان به سه دسته کلی تقسیم کرد:
پویانمایی‌های دوبعدی
پویانمایی‌های دوبعدی دسته‌ای از تصاویر ساخته شده به وسیله رایانه هستند که شامل مدل‌های دوبعدی مثل اشکال هندسی دوبعدی، نوشته‌ها و متون، و تصاویر دیجیتالی می‌باشند. این نوع پویانمایی‌ها معمولا در برنامه‌های کاربردی‌ای که بر مبنای فناوری‌های سنتی پویانمایی‌سازی تولیدشده‌اند، به صورت دیجیتالی و روی رایانه ایجاد می‌شوند.
مراحل ایجاد یک پویانمایی دوبعدی را می‌توان به سه بخش عمده تقسیم کرد: مرحله ساخت و تصحیح اشکال، مرحله حرکت و ساخت فریم‌های کلیدی و مرحله مورفینگ یا تویینینگ می‌باشند.
ساخت اشکال
در این مرحله ما اشکال، اجسام و موجودات مورد نیاز در پویانمایی را به وسیله برنامه کاربردی مثل ماکرومدیا فلش یا پاورپوینت طراحی می‌کنیم. در صورت نیاز می‌توانیم برای موجودات طراحی شده اسکلت و اهرم‌های مجازی تعریف کنیم تا حرکت دادن آن‌ها در مرحله بعد ساده‌تر شود ولی به‌طور کلی اسکلت‌بندی در طراحی مدل‌های دوبعدی بر خلاف مدل‌های سه‌بعدی ضرورتی ندارد. در طراحی مدل‌های دوبعدی می‌توان از گرافیک بیت‌مپ یا برداری استفاده کرد.
ساخت فریم‌های کلیدی
برای ایجاد حرکت‌های مورد نظر در پویانمایی از لایه‌ها استفاده می‌کنیم و در فریم‌های کلیدی تغییرات حرکتی را اعمال می-کنیم که شامل حرکاتی مثل حرکات اعضای بدن، چشم، لباس و … می‌باشند.
مورفینگ
همان رندرینگ در پویانمایی سه بعدی است با این تفاوت که کاری که رایانه باید انجام بدهد تا حدودی متفاوت است. در این مرحله رایانه باید به ازای هر لایه فریم‌های موجود بین فریم‌های کلیدی را محاسبه کند و سپس تمام لایه‌ها را با هم دیگر ادغام کند تا پویانمایی نهایی به دست آید. در ضمن باید عمل رندریگ را برای فریم‌های کلیدی به‌طور جداگانه انجام دهد ولی به فریم‌های میانی کاری ندارد. به فرایند تولید فریم‌های میانی در اصطلاح مورفینگ یا تویینینگ می‌گویند. فریم‌های پویانمایی تفسیر شده را می‌توانیم به فرمت فیلم یا ویدئو ذخیره کنیم و در هنگام نیاز نمایش دهیم ولی یکی از برتری‌های پویانمایی دوبعدی پهنای باند کم و زمان کوتاه رندرینگ می‌باشد که به ما اجازه می‌دهد که فرایند رندرینگ را به صورت بی‌درنگ در زمان اجرای پویانمایی انجام دهیم. این خاصیت باعث شده که در اینترنت به جای فرایندهایی مثل به رشته درآوردن و از پیش بار کردن پویانمایی‌های طولانی را در رایانه مقصد تفسیرکنند.
پویانمایی سه‌بعدی
انواع
امروزه بیشتر پویانمایی‌های ساخته شده به کمک رایانه از این دسته‌اند. این دسته از پویانمایی‌ها می‌توانند با تقریب مناسبی بسیار واقعی و طبیعی به نظر برسند. پویانمایی‌های سه‌بعدی را می‌توان به دو دسته واقع‌گرایانه و خیالی تقسیم کرد. پویانمایی‌های واقع‌گرایانه سعی دارند که مدل‌های موجود در جهان را در دنیای مجازی شبیه‌سازی کنند. پویانمایی‌های واقع‌گرایانه خود به دو دسته تقسیم می‌شوند؛ یک دسته شامل پویانمایی‌هایی است که سعی شده در آن‌ها مثل فیلم‌های واقعی شخصیت‌های انسانی مجازی بازی کنند، در واقع در این پویانمایی‌ها شخصیت‌های اصلی انسان‌ها هستند و زندگی آن‌ها به تصویر کشیده شده‌است. در مقابل دسته دیگر مربوط به پویانمایی‌سازی دنیای اطراف انسان‌هاست که می‌تواند شامل حیوانات و اشیا باشد.
پویانمایی‌های خیالی دنیایی را تولید می‌کنند که در ذهن نویسنده بوده و مثال خارجی ندارد. این پویانمایی‌ها مملو از شخصیت‌های خیالی مثل هیولاها، پری، ارواح و … می‌باشند. کارخانه هیولاها ساخت مشترک والت‌دیزنی و پیکسار نمونه خوبی برای این دسته‌اند.
مراحل ساخت پویانمایی‌های سه بعدی بسیار به پویانمایی دوبعدی نزدیک است. در بسیاری از فیلم‌های پویانمایی بعد از پرورش شخصیت‌ها و تهیه صفحات داستانی ابتدا تمام اجزای اصلی را به صورت دوبعدی طراحی می‌کنند و پس از اتمام طراحی شخصیت دوبعدی به کمک آن مدل سه‌بعدی را به وجود می‌آورند.
ایجاد مدل سه بعدی
فرایند ایجاد مدلی برای ارائه هر شیء سه بعدی (زنده یا غیرزنده) به وسیله صفت‌های هندسی و فرمول‌های ریاضی و تهیه قالبی قابل تحویل برای رایانه را مدل‌سازی سه بعدی گویند که به وسیله نرم‌افزارهای خاص سه‌بعدی‌سازی صورت می‌گیرد مثلا مایا یا تری‌دی‌مکس . خروجی فرایند مدلینگ چیزی شبیه به یک مجسمه دیجیتالی است که از دسته‌ای از چند وجهی‌ها و اشکال ابتدایی به وجودآمده‌است. در این مرحله باید اسکلت‌بندی‌های لازم را برای مدل ایجاد کنیم و مفصل‌ها و اهرم‌ها، نقاط وزین و سنگین، بازه‌های حرکتی و محورهای دوران را مشخص کنیم. به اسکلت‌بندی و سایر کارهایی که جهت کنترل حرکت شخصیت‌ها در ساخت پویانمایی سه بعدی انجام می‌شود در اصطلاح طناب‌کشی می‌گویند.
به متغیرهایی که برای کنترل اجزای مختلف هر کاراکتر استفاده می‌شوند و مکان آن‌ها را نشان می‌دهند آوار می‌گویند. شخصیت “وودی ” در پویانمایی داستان اسباب‌بازی به تنهایی ۷۰۰ متغیر داشت که ۱۰۰ تای آن‌ها مربوط به عضلات صورت بودند. دو روش برای ایجاد مدل اولیه وجود دارد. در روش دستی یا سنتی انیماتور مدل را روی رایانه ایجاد می‌کند که بسیار شبیه هنر مجسمه سازی است. روش خودکار با استفاده از دستگاه‌های ورودی سه‌بعدی مثل اسکن فیزیکی سه بعدی انجام می‌شود.
بعد از تهیه فرمت هندسی و فیزیکی باید سطوح را مشخص کنیم و برای آن‌ها رنگ، جنس و بافت مناسب را انتخاب کنیم. اعمال بافت و جنس بر روی مدل در مرحله رندرینگ انجام می‌شود که از مراحل مهم در جهت واقعی‌سازی تصاویر پویانمایی می‌باشد.
حرکت و نحوه نمایش
پس از مشخص شدن طرح کلی اجزای پویانمایی باید به طراحی حرکات و وقایع پویانمایی و اجزای آن بپردازیم. ابتدا باید نحوه-ی قرار گرفتن اجزا نسبت به یکدیگر را مشخص کنیم و صحنه‌ها را طراحی کنیم. طراحی صحنه‌ها شامل محل قرارگرفتن دوربین و منبع نور هم می‌باشد که هر دو در مرحله بعد، رندرینگ بسیار تاثیر گذارند.
در مرحله بعد باید حرکات مربوط به اجزا شامل ایست و حرکت، چرخش، تغییر جهت، تغییر ویژگی‌های فیزیکی مثل اندازه و رنگ را طراحی کنیم. بسیاری از نکات حرکتی که در این مرحله باید اجرا شوند با مراجعه به صفحات داستان قابل استخراج هستند. این مرحله هم مثل مرحله قبل دو نحوه پیاده‌سازی دستی و خودکار دارد. روش دستی بسیار به کاری که در پویانمایی دوبعدی انجام می-دادیم شبیه‌است با این تفاوت که ما اینجا ابتدا با استفاده از اسکلت-بندی‌ها و اجزای کنترلی شخصیت‌ها حرکات آن‌ها را در فریم‌های کلیدی پیاده‌سازی می‌کنیم و رایانه فریم‌های میانی را محاسبه می‌کند و تمام فریم‌ها برای مرحله رندرینگ آماده می‌شوند. به‌طور کلی در پویانمایی سه بعدی کنترل بر روی نحوه و چگونگی حرکت اجزا بسیار راحت‌تر و بیشتر است. در روش خودکار حسگرها و علامت‌هایی را به روی بدن یک انسان واقعی متصل می‌کنیم و او مثل یک بازیگر حرکت می‌کند و حرکات او را به وسیله رایانه از حسگرها استخراج و ثبت می‌کنیم. به این روش در اصطلاح استخراج حرکت می‌گویند.
استفاده از این روش تحت شرایطی مناسب است که حرکات انسانی مورد نظر ما باشد و انجام آن حرکت‌ها برای انسان امکان‌پذیر باشد که معمولا این شرایط به وجود نمی‌آید. مثلا در داستان اسباب‌بازی که شخصیت‌ها اسباب بازی بودند، حرکات معقول انسانی خیلی به کار نمی‌آمد بنابراین حرکات به صورت دستی پیاده‌سازی شدند.
رندرینگ سه‌بعدی
به‌طور کلی به فرایند تولید تصویر از یک صحنه مجازی به منظور نمایش بر روی صفحه نمایشگر، رندرینگ می‌گویند که توسط نرم‌افزار رندرینگ (موتور رندرینگ) انجام می‌شود و آخرین مرحله در تولید پویانمایی رایانه‌ای است. در واقع این مرحله شامل تبدیل صحنه سه بعدی برداری به یک تصویر پیکسلی قابل مشاهده می‌باشد.برخی از مباحثی که در رندرینگ تصاویر و فریم‌ها باید به آن‌ها بپردازیم شامل:
•سایه‌زدن
یکی از روش‌های القای سه‌بعدی بودن تصاویر است که محاسبه می‌کند با تغییر میزان نور رنگ‌ها و روشنایی سطوح چگونه باید تغییر کنند. فرض کنید می‌خواهیم به بیننده القا کنیم که شکل زیر یک مکعب مستطیل سه‌بعدی است. همان‌طور که می‌بینید این شکل که شامل سطوح یک‌رنگ است به هیچ وجه نمی‌تواند تداعی‌گر یک جسم سه بعدی باشد.
نمایش ناموفق از یک شکل سه بعدی
در شکل بعدی سعی می‌کنیم با پررنگ کردن لبه‌ها و متمایز کردن سطوح به این وسیله حالت سه‌بعدی را به وجود آوریم. این کار را معمولا در طراحی اشکال سه بعدی بر روی کاغذ انجام می-دهیم. به این روش در اصطلاح علمی سایه‌زدن کارتونی یا سلولی می‌گویند.
نمایش سایه زدن سلولی
همان‌طور که مشاهده کردید روش سایه زدن سلولی تا حدی موفق بود ولی این روش به واقعیت نزدیک نیست. روش بهتر روش سایه زدن به وسیله تفاوت رنگ‌ها و سایه هاست که در ادامه می‌بینید که بسیار به واقعیت نزدیک است.
نمایش سایه‌زدن به وسیله تفاوت رنگی سطوح
•نگاشت بافت
شامل اضافه کردن جزئیات به سطوح که القاکننده جنس سطوح می‌باشد. در واقع بافت یک تصویر است که به سطح مدل نسبت داده می‌شود. این تصویر می‌تواند عینا دیده شود یا تاثیرات آن قابل مشاهده باشد.مثلا باعث ایجاد برجستگی روی سطح گردد یا ایجاد حس انعکاس یا شفافیت موضعی.تصویری که به عنوان بافت استفاده می‌شود می‌تواند پیکسلی باشد یا برداری. این مرحله بسیار مهم است زیرا استفاده درست از بافت‌ها باعث کاهش قابل ملاحظه‌ای در تعداد اشکال ابتدایی برای نشان دادن اجزای دنیای واقعی با تقریبی مناسب، می‌شود. از آنجایی که زمان رندرینگ عموما متناسب با تعداد چندوجهی‌هایی است که باید ترسیم شوند، بنابراین کاهش تعداد این چندوجهی‌ها به افزایش کیفیت پویانمایی از طریق درجه‌فریم بالاتر کمک می‌کند. برای مثال ترسیم یک دیوار آجری را در نظر بگیرید، ما می‌توانیم هر آجر را به عنوان یک مستطیل در نظر بگیریم و هر کدام را به‌طور جداگانه رسم کنیم ولی از آنجایی که ممکن است هزاران آجر در دیوار باشد، فرایند رندرینگ ما به‌طور قابل‌توجهی کند خواهد شد؛ راه دیگر این است که کل دیوار را به صورت یک مستطیل بزرگ نمایش دهیم و بر روی آن مستطیل بافت آجر بزنیم که این عمل فرایند رندرینگ را بسیار سریع خواهد کرد.
•نگاشت برجستگی
روشی برای اضافه کردن برجستگی‌های جزئی سطوح که مربوط به القای جنس اجسام می‌شود. برای مثال فرض کنید ما می‌خواهیم یک پرتقال را مدل کنیم. در ابتدا ما یک شکل کروی با سطح صاف خواهیم داشت که تنها شباهتی که با پرتقال دارد همان شکل کروی و رنگ نارنجی آن است ولی جزئیات در پویانمایی سه بعدی بسیار اهمیت دارد.
مشاهده کردید که اضافه کردن جزئیات مربوط به برجستگی تا چه حد به واقعی جلوه دادن مدل سه بعدی کمک می‌کند.
•محوشدگی
روشی است برای مشخص کردن بهتر مفهوم فاصله، به‌طوری‌که هرچه فاصله اجسام از دوربین بیشتر باشد به خاطر وجود رسانه میانی مثل هوا و مه و دود و… اجسام محوتر به نظر می-رسند. محاسبه میزان این محو شدگی با توجه به فاصله و واسط میانی از کارهایی است که در مرحله رندرینگ باید انجام شود.
•روشن‌سازی غیر مستقیم
روشن‌سازی غیرمستقیم نام دسته‌ای از الگوریتم‌هاست که با محاسبه نورهایی که به‌طور غیرمستقیم از منبع نور یعنی از بازتاب آن بر اجسام دیگر صحنه به یکدیگر می‌رسد، باعث می‌شود که نورهای صحنه بسیار واقعی‌تر به نظر برسند. گاهی به این روش روشن‌سازی عمومی هم می‌گویند. در تئوری بازتاب‌ها، تجزیه و شکست نور و سایه‌ها و به خصوص نیم‌سایه‌ها مسایلی هستند که در روشن‌سازی عمومی محاسبه می‌شوند. تصاویری که با روشن‌سازی عمومی محاسبه می‌شوند بسیار واقعی به نظر می‌رسند. در این روش تغییر نور و روشنایی هر جسم و شیء روی محاسبه نور و روشنایی اجسام مجاورش تاثیر می‌گذارد.
از نکات منفی این روش باید به محاسبات حجیم و زمان‌بر و پرهزینه آن اشاره کرد. رادیوسیتی از الگوریتم‌هایی است که روشن‌سازی عمومی را محاسبه می‌کند. دیگر مواردی که در رندرینگ به آن‌ها می‌پردازیم:
سایه‌ها و نیم‌سایه‌ها
بازتاب به خصوص در اجسام درخشان و آینه‌ها
نور در اجسام شفاف و نیمه شفاف و کدر
عمق تصاویر
شکست و تجزیه نور
تیرگی و محوشدگی در حرکت
موتورهای بازی
موتورهای بازی در حقیقت مولفه نرم‌افزاری و اصلی هر بازی ویدئویی و ویدئویی و هر برنامه تعاملی است که محتوای گرافیکی بی‌درنگ تولید کند. موتوربازی یک سری از تکنولوژی‌های اساسی را مهیا می‌سازد و همچنین فرایند توسعه را تسهیل می‌کند و در بعضی مواقع بازی را قادر می‌سازد تا به گونه‌ای ساخته شود که به صورت چندزیرساختاری (مستقل از زیرساخت‌ها مثل سیستم‌عامل) و بر روی کنسول‌های بازی و رایانه‌های رومیزی اجرا شود. توانایی‌ها و قابلیت‌های اساسی که توسط موتوربازی در اختیار قرار می‌گیرد شامل یک تفسیرکننده برای گرافیک‌های دو بعدی و سه بعدی و موتور فیزیک و کاشف برخورد و صدا و پردازشگر اسکریپت و پویانمایی و هوش مصنوعی و قابلیت‌های شبکه‌ای و یک نمودار صحنه می‌باشد. موتورهای بازی را بعضی اوقات با نام میان افزار بازی نیز می‌شناسند.
بعضی از موتورهای بازی به جای کلیه قابلیت‌هایی که مورد نیاز یک بازی ویدئویی است تنها قابلیت رندرینگ بی‌درنگ سه بعدی را مهیا می‌سازند. این موتورها به توسعه‌دهنده بازی اجازه می-دهند که بقیه توانایی‌ها و قابلیت‌های مورد نیاز را فراهم نموده و مجموعه را تکمیل نماید که می‌توان آن‌ها را از بین اجزای میان‌افزار بازی‌های دیگر انتخاب نمود. این نوع از موتورها اغلب با نام‌های دیگری مانند موتور گرافیکی یا موتور رندرسازی یا موتور سه بعدی نیز شناخته می‌شوند.
امروزه بسیار بر روی موتورهای بازی و اجزای سازنده آن‌ها کار می‌شود و این امر باعث شده تا بین قسمت‌هایی مانند کارهای هنری و طراحی مراحل و رندرینگ و اسکریپ‌نویسی شکاف عمیقی ایجاد شود. به زبان ساده این امر باعث شده تا کارها تخصصی‌تر شود. امروزه در تیم‌های بزرگ توسعه بازی‌های رایانه‌ای و ویدئویی نسبت هنرمندان به برنامه‌نویسان ۴ به ۱ می‌باشد و این یک امر عادی به‌شمار می‌آیند. امروزه موتورهای بازی در زمره پیچیده‌ترین برنامه‌های رایانه‌ای هستند که تابه حال ایجاد شده‌است.
توسعه موتورهای بازی امروزه یکی از محبوب‌ترین پروژه‌ها در میان علوم رایانه‌ای می‌باشد و افراد بسیاری از دانشجویان و علاقه‌مندان و توسعه‌دهندگان بازی‌های رایانه‌ای به این موضوع می-پردازند. از ملزومات توسعه موتورهای بازی داشتن دانش بسیار در طیف وسیعی از علوم مانند هندسه و تئوری رنگها و محاسبات می‌باشد. بسیاری از افراد بطور مشتاقانه و غیرحرفه‌ای به این رشته می‌پردازند و از این کار لذت می‌برند ضمن اینکه محصول خود را به صورت منبع‌باز در اختیار بقیه می‌گذارند. “فضای کریستالی ” یک موتوربازی رایگان است که به صورت منبع‌باز و چندزیرساختاری عرضه می‌شود و از محبوبیت خوبی نیز برخوردار است.
گرافیک رایانه‌ای به‌طور کلی و رندرینگ و پویانمایی به‌طور خاص، نیاز به پیش زمینه قوی در ریاضیات و الگوریتم‌های رایانه‌ای دارد. الگوریتم‌های رندرینگ نیاز به دانش در زمینه هندسه نسبی و انعکاسی و جبرخطی و انواع مدل‌های نور و رنگ دارد. پویانمایی نیازمند درک خوبی از ریاضیات پیوسته دارد. پویانمایی‌های خوب نیاز به گونه‌هایی از مدل‌های فیزیکی برای نمایش تاثیر نیروی جاذبه و نیروی تعاملی اشیا نیز دارد.
نتیجه‌گیری
زمینه‌های پیشرفته در گرافیک رایانه‌ای الگوریتم‌های بسیاری برای رندرینگ اشیاء سه بعدی به تصاویر دو بعدی تولید کرده‌اند. پیچیدگی‌های بسیاری در این فرایند وجود دارد که شامل مواردی مثل رسم چند ضلعی‌ها، پرکردن چند ضلعی‌ها، سایه‌زدن، سایه‌ها، نشان دادن طرح و نقش‌ها، عوض کردن خطوط و نوع قلم، بریدن تصاویر و همین طور انتخاب سطوحی که دیده می‌شوند و… هستند، که البته به این موارد ختم نمی‌شوند.
گرافیک رایانه‌ای
بازی‌های رایانه‌ای