Pswin متخصص ساخت بازی
تاريخ عضويت: جمعه 29 دي 1385 تعداد ارسالها: 261 محل سكونت: پشت کامپیوترم
2 شنبه 30 شهريور 1388 - 23:47 |
|
|
اشیاء داخل صحنه:
هیچ کدوم از اشیاء داخل صحنه نمی تونن موقعیت، چرخش و یا موارد مثل اون رو بگیرن. بلکه برای گرفتن موقعیت و موارد دیگه باید به پدر خودشون ( که یک نود صحنه - SceneNode) است مراجعه کنن. فعلا من برای داخل صحنه سه شی رو در نظر گرفتم:
شی منبع صوتی:
فراخوانی _update : هیچ عکس العملی نشون نمیده. تنها زمانی عکس العمل نشون میده که متد play اون فراخوانی شه.
شی دوربین:
فراخوانی _update : اگر دوربین فعال باشه ماتریس پروجکشن و ماتریس دوربین رو ست میکنه.
شی موجودیت: این نوع اشیا< موجودیتهایی هستند که داخل صحنه باید رسم شن و دارای یک مش- اطلاعات فریم انیمیشن، اطلاعات متریال و ... هستند.
فراخوانی _update: خودشون رو توی renderQueue ثبت می کنن. تا رسم بشن.
کلاس RenderQueue: یه کلاس برای بهینه سازی رندرینگ هستش. به همین شکل از ارتباط مستقیم هر شی Entity با رندرر جلوگیری میکنه.
سوالی که اینجا مطرحه: برای یک دیزاین بهتر کدوم یکی رو پیشنهاد میکنین:
1. بهتر هستش که شی Entity رو به رندرر بدم( مدیر صحنه RenderQueue رو مرتب کنه بعد تک تک Entityها رو بفرسته به رندرر که رسموشون کنه)
2. خود RenderQueue رو مدیر صحنه تحویل رندرر بده که رسموشن کنه.
متدی که قبلا استفاده می کردم این بودش که خود مدیر صحنه RenderQueue رو می خوند و اطلاعات انیمیشن، هندسته مش و متریال رو به صورت جدا برای رندرر می فرستاد. بعدا تصمیم گرقتم که خود renderer هر Entity رو بگیره و رندر کنه. |
_________________ سمینار تخصصی بازی سازی و گرافیک کامپیوتری (یکشنبه 29 آذر 1388 - 9:30 صبح تا 13 بعد از ظهر ):
http://barnamenevis.org/forum/forumdisplay.php?f=28 |
|