میخوای با یک کلیک ساده عضو سایت بشی تا تجربه بهتری در CGSector داشته باشی؟
فقط کافیه روی دکمه زیر کلیک کنی
عضویت / ورود با حساب گوگل
mitsuba-renderer-overview
سه‌شنبه 5 اسفند 1393
در
مقالات

رندرینگ مشکل شماست ؟ (قسمت 1: میتسوبا)

سه‌شنبه 5 اسفند 1393
با سلام و درود خدمت همه عزیزان همراه. امیدوارم آخر سال خوبی داشته باشید و انشاالله سال جدید که کمتر از یکماه دیگه آغاز میشود سالی خوب برای همه اهالی CG بخصوص عزیزان و همکاران و فعالان این سایت باشد. خب فکر کنم به اصل داستان بپردازم و از حاشیه ها کم کنم بهتره !
 
حتما مشکل رندرینگ همه جا و همیشه بلای جان همه فعالان سی جی بوده، هست و خواهد بود؛ اما نکاتی هست که اگر اونها مد نظر قرار بدهیم میشود تا حد زیادی با این غول بی شاخ و دم مبارزه کرد که سعی میکنم تا حد تخصص و دانش شخصی این نکات بیان کنم. این نکته که همه موتورهای رندرینگ قوی هستند کلام کاملا صحیحی هست و شک و شبه ای وارد نیست اما آیا حالا که همه موتورها قوی هستند ما باید با کدام رندر انجین کار بکنیم ؟ آیا ملاکی برای انتخاب موتور هست ؟ موتورها به کدام سمت کشیده میشوند و آینده از آن کیست؟ آیا ما باید سرمایه گذاری بلند مدت برای یادگیری یک موتور داشته باشیم؟ این ها و هزاران سوال دیگر اولین نکاتی هست که به ذهن ما در زمان یادگیری رندرینگ میرسه.
 
اما چرا از موتورهای رندرینگ شروع کردم؟
 
جواب: همیشه در بحث رندرینگ فارغ از داستان تکنیکهای رندرینگ، مسئله ابزارهای رندرینگ که توسط موتور رندر ارائه میشوند مطرح هست و اگر شما انتخاب اشتباهی داشته باشید باید جور یکسری سربار مثل سربار زمانی و همچنین سربار مادی را بکشید ! پس در یک کلام اگر موتور رندر شما درست انتخاب نشود، شما هستید و کلافگی و انرژی هایی که از دست خواهید داد.
 
این بحثهای پایه ای به قسمت های بعد منتقل میکنم و مقاله وارد یک فاز جدید و جذاب میکنم. داستان از اینجا به بعد زیبا و بزرگ است؛ زمانی این داستان برای من جالبتر شد که ردپای وتا دیجیتال دیدم و بیشتر مشتاق شدم؛ اما بشنوید ادامه ماجرا رندرینگ.
 
نگاهی به موتور رندرینگ Mitsuba بعنوان یک انجین Physically Based Renderer
 
انگار همین چند ماه گذشته بود که در خروجی اخبار سی جی خبر موتور رندر شخصی وتا به اسم مانوکا منتشر شد. علاقه شخصی من زمانی بیشتر شد که قدرت این موتور در مقالات تخصصی سی جی دیدم. اون زمان خیلی به مسائلی ریز مانوکا توجه نکردم تا چند روز پیش !!! این نکته از این طرف داستان داشته باشید.
 
اما مدتهاست درگیر ارائه راه کارهای رندرینگ هستم و طبع این فعالیت، تحقیق و پژوهش و همچنین آشنایی با موتورهای مختلف است. موتورهای بزرگ و کوچک، معروف و گمنام؛ همه و همه باید بررسی بشوند. شاید بپرسید چرا این مسائل مطرح میکنم ؟ در جواب باید عرض بکنم که چند موتور کوچکتر که فوق العاده خوب بودند نظر شخصی من جلب کرد و با بررسی کاملتر نکات جالبی متوجه شدم. به طور دقیق قصد دارم از موتور Mitsuba صحبت بکنم. با چند سوال و پاسخ بیشتر با میتسوبا آشنا میشویم.
 
نگاهی به موتور رندرینگ Mitsuba بعنوان یک انجین Physically Based Renderer
 
  • سوال: میتسوبا چیست ؟
  • جواب: میتسوبا یک موتور رندرینگ رایگان و پژوهشی محور فیزیکال بیس هست که قادر به رندرینگ بصورت Unbiased و Biased میباشد.
  • سوال: چه کسانی میتوانند از میتسوبا استفاده کنند ؟
  • جواب: هر کسی که نیاز به رندر دارد؛ میتسوبا بصورت نرم افزار مستقل و پلاگین نرم افزار طراحی شده است.
  • سوال: کدام نرم افزار ها دارای پلاگین میتسوبا هستند ؟
  • جواب: دوستان عزیز بلندری و کاربران راینو
  • سوال: کاربران مکس و مایا فراموش شده اند ؟
  • جواب: اگر بشود روز و شب را فراموش کرد، این نرم افزارها هم فراموش میشوند !!! خیر؛ با استفاده از فرمت Collada به راحتی کاربران مکس و مایا میتوانند صحنه ها و مدل ها به میتسوبا منتقل کنند.
بواقع شما زمانی سورپرایز میشوید که تکنیکهای رندرینگ در میتسوبا ببینید. میتسوبا با توجه به اینکه یک موتور پژوهشی محور است ولی به طرز شگفت انگیزی از الگوریتم های مختلف رندرینگ استفاده میکند ! یک از ویژگی های میتسوبا طراحی ماژولار هست که بنظر من قدرت نهفته این موتور دقیقا همین نکته است؛ میتسوبا تشکیل شده از صدها ماژول است که تشکیل این سیستم رندرینگ را میدهد. میتسوبا روی ویندوز، مک و لینوکس اجرا میشود و از این بابت فوق العاده است.
 
نگاهی به موتور رندرینگ Mitsuba بعنوان یک انجین Physically Based Renderer
 
میتسوبا در زمینه رندرینگ شبکه هم فوق العاده است و بطور جامع و کامل از رندرینگ تحت شبکه حمایت میکند. الگوریتم بنحوی ایجاد شده اند که در هر حالاتی از موازی سازی عمومی حمایت میکنند و شما در صورت داشتن بستر لازم صحنه های بسیار بسیار بزرگ در کمتر از چند ثانیه رندر میکنید و این هنر میتسوبا است.
 
اما نقطه عطف میتسوبا تکنیکهای مختلف رندرینگ است.
 
نگاهی به موتور رندرینگ Mitsuba بعنوان یک انجین Physically Based Renderer
 
Ambient occlusion
Direct illumination
Monte-Carlo path tracer which solves the full Radiative Transfer Equation
Photon mapper with irradiance gradients
Adjoint particle tracer
Bidirectional path tracer
Instant Radiosity (hardware-accelerated)
Progressive Photon Mapper
Stochastic Progressive Photon Mapper
Path Space Metropolis Light Transport
Primary Sample Space Metropolis Light Transport
Energy redistribution path tracer
 
نگاهی به موتور رندرینگ Mitsuba بعنوان یک انجین Physically Based Renderer
 
به شخصه زمانیکه اولین بار در میتسوبا با MLT یا همون Metropolis Light Transport کار کردم به تمام معنا از سرعت رندر این الگوریتم در میتسوبا لذت بردم. زمانیکه شما به تکنیک های حمایتی رندرینگ در میتسوبا نگاه میکنید واقعا دیگر هیچ حرفی نمیتوانید بزنید و باصطلاح کلاه از سر باید بردارید !!!
 
الگوریتم های رندرینگ در میتسوبا شامل الگوریتم های رندر حجمی یا همون Volume Rendering هم میباشد و شما بسادگی میتوانید از این الگوریتم ها نیز استفاده کنید. اما یکی از نکات جالب دیگر میتسوبا شیوه های AA در این موتور هست، الگوریتم های نوین که در موتورهای بزرگ بصورت انحصاری استفاده میشود و بحث زمانی جالب تر میشود که میبیند طراح موتور یکی از تئوریسین های بزرگ سی جی میباشد که موتورهای بزرگ دنیا مثل منتال ری از دسترنج این نابغه حوره سی جی استفاده میکنند؛ اما چه الگوریتم هایی در میتسوبا استفاده میشود ؟ سه نوع الگوریتم از خانواده QMC و سه الگوریتم دیگر. (در پادکست شماره 6 راجع به QMC صحبت کردم)
 
نگاهی به موتور رندرینگ Mitsuba بعنوان یک انجین Physically Based Renderer
 
اما این همه قدرت چطور در یک موتور کوچک قرار گرفته است ؟ کلید و نکته اصلی مقاله ما هم همین نکته است؛ همه چیز به طراح بی نظیر موتور برمیگردد؛ یک سوپر استار حوزه سی جی؛ دکتر Wenzel Jukob. شاید باورتان نشود که این موتور پایه کتاب Physically Based Rendering: From Theory To Implementation هم است. دکتر jukob بواقع یک نخبه است که در حوزه های مختلفی در سی جی فعالیت دارد و هم یکی از فعالان SIGGRAPH ! توصیه میکنم فقط در گوگل اسم این نخبه سی جی جستجو بکنید تا بیشتر با این شخص آشنا بشوید، فقط امیدوارم مثل من از خودتان نا امید نشوید !
 
اما اگر نکته اول مقاله که همون مانوکا بود بخاطر داشته باشید شاید کم کم بتوانید راجب به ارتباط مانوکا با این مقاله حدس هایی بزنید. دکتر Jukob یکی از طراح های اصلی مانوکا میباشد و یکی از دلایل فوق العاده بودن مانوکا هم همین است. در نسخه 2 و 3 هابیت از مانوکا استفاده شد و خروجی ها فوق العاده بودند؛ در بحث تکنیکال که انقلابی بود و رندرینگ سریع و مخصوصا قدرت رندر مو که فوق العاده بود. نکته دیگر مانوکا مدیریت حافظه فوق العاده است که وقتی در پروژه توسعه شما نخبه هایی مثل یاکوب باشند این حداقل برتری است.
 
خب بحث کوتاه میکنم و در انتها چکیده مطلب مجدد بیان میکنم :
  • قصد ما بحثهای سریالی پیرامون رندرینگ است و قصد داریم در چند بخش به این موضوع بپردازیم.
  • از موتورها شروع کردیم؛ چرا که موتور رندر ابزار دست ما میباشد و هرچقدر ابزار دست ما قوی تر کار ما بهتر و راحتتر !
  • میتسوبا به عنوان اولین موتور زیر ذره بین بردیم و دیدیم که موتورهای قدرتمندی هستند که شاید به آنها کم توجهی میشود و موتورها فقط ویری، منتال، آرنولد و ... نیست.
نگاهی به موتور رندرینگ Mitsuba بعنوان یک انجین Physically Based Renderer
 
اما در آخر از همراهی شما سپاسگزاری میکنم و امیدوارم در قسمت نظرها در کنار حمایت و دلگرمی با نظرات و تجربیات شما راجع به این دنیای بزرگ و بی انتها آشنا شویم.
 
با بیشترین احترامات
 

اشتراک گذاری:

دیدگاه ها ( 60 نظر )

دیدگاه خود را بنویسید