مرتضی رضایی
تماس با من
پروفایل من
نویسنده (های) وبلاگ مرتضی رضایی
آرشیو وبلاگ
      ساخت بازی های رایانه ای ()
پيام نویسنده: مرتضی رضایی - پنجشنبه ۱٩ امرداد ،۱۳۸٥

برای کم کردن حجم داده های انتقالی بین رم کامپیوتر و رم کارت گرافیک از طریق باس مثل AGP 8X یا PCI EXPRESS 16X که عاملان اصلی در کنتر شدن سرعت هستند می تونیم ترتیب رندر اجسام را بر اساس تکستچرهاشون مرتب کرده و هر تکستچر فقط یه بار از رم به رم کارت گرافیک بره.

بعضی ها هم برای فریم های فرد تمام تکستچرها رو که نمایش دادند در فریم های زوج ترتیب اون ها رو معکوس می کنند که این باعث می شه اولی و اخری یک بار کمتر در کارت لود بشن.

---------------

اگه درست فهميده باشم بايد دنبال راهي باشيم تا لود و بارگذاري تكسچر ها حجم زيادي را در بر نداشته باشد خوب يك نظري دارم كه نمي دونم اصلا عملي هست يا و لي از قديم گفته اند تير مفت گنجشگ هم مفت
خوب خيلي ساده اشيا دور تر با پيكسل هاي كمتري بارگذاري مي شوند تا حجم زيادي را نگيرند

----------------

اگه درست فهميده باشم بايد دنبال راهي باشيم تا لود و بارگذاري تكسچر ها حجم زيادي را در بر نداشته باشد خوب يك نظري دارم كه نمي دونم اصلا عملي هست يا و لي از قديم گفته اند تير مفت گنجشگ هم مفت
خوب خيلي ساده اشيا دور تر با پيكسل هاي كمتري بارگذاري مي شوند تا حجم زيادي را نگيرند

-----------------

من خودم واقعا نمي دونم دقيا چه اتفاقي مي افته كه يك تكسچر از حافظه بار گذاري ميشه و ..
پس بايد فعلا به دنبال كسب علم باشم تا بعد

-------------------

من فکر کنم وقتی که دایرکت ایکس با دستور SetTexture خود دایرکت 3 دی این کارو انجام بده. یعنی از رم می بره به وی رم.

-----------------

يك چيز ديگه مثلا ميشه تكسچر اشيايي رو كه كاربر نمي بينه اصلا لود نكرد واگر لود شده اند فقط در حافظه قرار داد حتي اگر اون تكسچر ها ديوار پشتي باشد

----------------

فکر کنم جواب همه ی سوالاتتون رو در لینک زیر پیدا میکنید.

http://www.gamedev.net/reference/articles/article1233.asp
بله .میشه ولی الگوریتم شو بلد نیستم
--------------------

برای انجین دو تا تابع برای ساختن vertex & pixel shader هست ولی خوب برای کامپایل شیدر ها از Direct3DX استفاده شدهکه در اینجا قانون API Independent را زیر پا گذاشتیم

کدها رو می تونید از سی وی اس بگیرید و در نسخه 0.0.2 انجین هم موجود هست.

حالا باید به یادمون باشه که یه راهی پیدا کنیم که توسط کدهای خودمون شیدر ها رو کامپایل کنیم.

موفق باشید.

--------------

؛{بین من وقتی میخوام طبق آموزش از موتور رندر بگیرم کتابخونش اررور میده.هم اسمش رو درست میزنم هم جاشو درست انتخاب میکنم

KGERenderer.lib(KGERenderer.obj) : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specification
LINK : fatal error LNK1104: cannot open file 'LIBCD.lib'}

-------------------

برای حل این مشکل  از تمامی بچه ها تقاضا دارم که یه جستجویی در گوگل برای رفع این مشکل بکنند شما دومین نفری هستی که این مشکلو داری ولی راه حلی که داره اینه که یه اینستالر d3dx9 هم برای برنامه هاشون می سازن. ولی بازم تحقیق بد نیست.

البته اگه خودتون دوباره kged3d رو کامپایل کنید احتمالا این مشکل هم حل می شه.

سوال: شاید بگید که چرا ما اصلا d3dx9 رو به پروژه اظافه کردیم اتفاقی که قرار نبود بیافته.
جواب: من نتونستم کدی رو پیدا کنم که شیدرها رو کامپایل کنه یعنی دنبالش هم نگشتم برای همین از d3dx9 استفاده کردم و همین طور هم هنوز راهی بلد نیستم که نوشته رو توی انجین نمایش بدیدم اگه راهی پیدا نشد برای همین هم از d3dx9 استفاده می کنم.

------------------------------

shader های HLSL رو فقط با D3DX می شه ساخت ولی می شه اونها رو جدا کامپايل کرد که در زمان اجرا احتياجی به D3DX نداشته باشيد، اون هم با برنامه fxc که تو خود sdk هست.

اگه می خواهيد برای gl شيدر درست کنيد ابزارهای ديگه هست که تو سايت های nvidia و جاهای ديگه هست.

من البته هنوز نمی دونم که شما می خواهيد multi-platform کار کنيد يا نه، اگه می خواهيد multi-platform باشه بهتره که دور D3DX رو خط بکشيد .

------------------

يک سری برنامه D3DX داره که يکيشون FXC.exe هست، اين برنامه بصورت command-line ای شيدر ها رو کامپايل می کنه و بصورت فايل های باينری (کامپايل شده) ذخيره می کنه.
در اين صورت شما با سرعت بيشتری می تونيد اين فايل ها رو بارگزاری کنيد و در هنگام اجرای موتور زمان نمی گيره.
برای DirectX هم بايد HLSL بنويسيد و برای GL هم CG هست فکر می کنم که اين دو تا هر کدوم بايد جدا نوشته بشوند.

 موفق باشید

  نظرات ()
مطالب اخیر Top 10 Undergraduate and Top 10 Graduate Schools Save 3D Models from Games with 3D Ripper DX حکایت همچنان باقیست ؟! The 3D Game Maker درباره بازی crysis بازی سرزمين گمشده معرفی برگزیدگان جشنواره رسانه های دیجیتال و چندرسانه ای توليد بازي ايراني رايانه‌اي "انرژي هسته‌اي" شخصیت‌های بازی‌های رایانه‌ای چین تغییر می‌کنند مرجع کامل خطاهای مودم
کلمات کلیدی وبلاگ هوش مصنوعی (۱) بازی کامپیوتری (۱) بازی ایرانی (۱) بازی سازی (۱) fps creator (۱) اکشن اول شخص (۱) game maker (۱) عصر پهلوانان (۱)
دوستان من بازی عصر پهلونان بازی رایانه ای میرمهنا اخبار فناوری اطلاعات طراح قالب