تعريف شبكه فن‌آوري اطلاعات به عنوان صفحه اصلي

سه شنبه 20 بهمن 1388
تعداد كاربران آنلاين: 48

فهرست

  اخبار
  مقالات
  مصاحبه‌ها
  نكته‌ها و ترفندها
  قوانين و مقررات
  دريافت نرم‌افزار
  آموزش
  نمايشگاه ‌و همايش‌
  بازيهاي رايانه‌اي
  گزارش
  تبـليغــات
حضرت محمد (ص)

عمل اندك همراه با دانش، بهتر از عمل بسیار همراه با نادانی است.


آی.پاد، به دادگاه میرود!            درباره هارددیسک بیشتر بدانیم!            SMS بازنشسته مي شود            دانلود Opera 8 Beta 2            درخواست كمك از ISP ها براي از بين بردن كرم سابر            شركت AOL سايت خريد آنلاين خود را بازسازي مي كند            يك سوم اسپم ها را كاربران خانگي توليد مي كنند            چگونه از ابزار ساختاربندي استفاده كنيم. (فقط در نسخه ویندوز xp حرفه اي)            آشنايي با حملات اينترنتي از نوع DOS (بخش دوم)            دان لود برنامه Winamp 5.05 Pro            MySQL گونه جديدي از پايگاه داده اپن سورس خود را منتشر كرد            پردازنده‌های مخصوص افزایش قابلیت گرافیکی سیس            كوچكترين هاردديسك جهان به نمايش گذاشته شد            دارندگان عابر بانك سپه به وسيله‌ي تلفن همراه از مانده‌ي حساب خود مطلع مي‌شوند            تظاهرات ديجيتالي جامعه اطلاعاتي ايران- قسمت سوم            هك سايت انتخابات مجلس هشتم توسط يكي از دلسوزان جمهوري اسلامي            بازار گوشي ايران: فروشندگان نگران ، خريداران بلاتكليف            آشنائی با انواع اتصال كامپيوتر ها در شبكه            کاربران مسنجر AOL شماره تلفن رايگان دريافت مي کنند            تست اعتیاد به اینترنت!            

مباحث پيشرفته Direct3D (درس اول)

تبــليغـــات

ارسال SMS در ویندوز!

ارسال پیامک تکی/گروهی
دریافت پیامک با تفکیک نام و گروه
سیستم زمانبندی اتوماتیک ارسال SMS

همگی در نرم افزار KeyanaSMS نسخه تجاری (مقیم در TrayBar ویندوز)

حتما با ما تماس بگیرید: 8455355-0511 (10 خط) داخلی 102

شنبه,7 شهريور 1384 (تعداد دفعات خوانده شده:3126)



از: پرشين بلاگ

موضوع : استفاده از object هاي 3D Studio Max در Direct3D


تا بحال ما هر شيي را که مي خواستيم در Direct3D بسازيم خودمان بوسيله کد نويسي آنرا توصيف کرده ايم . ممکنست اين سوال برايتان پيش آمده باشد که بازيهاي تجاري براي توليد کاراکترهاي و اشيا پيچيده سه بعدي چگونه عمل مي کنند ؟
منطقي بنظر نمي رسد که اينگونه مدلهاي پيچيده بصورت کد وارد برنامه شده اند زيرا نياز به هزاران خط برنامه براي هر فريم خواهد بود . بجاي اينکار ما object هاي خود را توسط برنامه هاي ديگري مي سازيم و آنها را در برنامه خودمان load مي کنيم سپس بافتها و material هاي مورد نظر را به آنها اختصاص داده و در پايان آنها را رندر مي کنيم . مزيت ديگر اينکار اينست که شما مي توانيد براحتي فايل object خود را تغيير دهيد و مدلهايي با جزئيات متفاوت براي برنامه خود قرار دهيد .

مراحل ساخت چنين برنامه هايي بصورت زير است :

۱ - ساخت object سه بعدي :
اولين چيزي که بايستي بدانيد داشتن دانش پايه اي از چگونگي مدلسازي سه بعدي است . همچنين نياز به يک نرم افزار مدلسازي مثل 3D Studio Max داريد .
بعد از ساخت مدل خود در Max نياز به يک Convertor داريد تا فايلهاي Max را به فايلهايDirect3D که با فرمت "X." هستند تبديل کنيد .
Convertor هاي زيادي براي تبديل فايلهاي نرم افزارهاي مدلسازي به فايلهاي "X." وجود دارند که برخي از آنها عبارتند از :
- برنامه PolyTrans3D System Translation
- برنامه Deep Exploration 2.0
- برنامه Quick3D
- برنامه 3DWin
- DirectX Explorer Plugin
- ابزارهاي موجود در DirectX 8.0 SDK که عبارتند از :
برنامه Conv3DS براي تبديل فايلهاي 3DS به فايلهاي X
DX SDK Exporter Plugin براي تبديل فايلهاي 3DS و Max به فايلهاي Xاز بين اين برنامه ها و plugin ها من برنامه Deep Exploration را به شما پيشنهاد مي کنم .
در آدرس زير مي توانيد اطلاعات بيشتري در مورد اين برنامه بدست آوريد و همچنين آنرا Download کنيد :
Deep Exploration 2.0
s/n: 0XE2A0000000000
Authorization s/n: REJ1HYXSR1A77Q10


2 - Load کردن يک Object ساخته شده :
زمانيکه فايل X شي مورد نظر را ساختيد ، load کردن آن در direct3D ساده است . براي اينکار نياز به يک مش داريم که اطلاعات شي ما را نگهداري کند :
Dim Mesh As D3DXMesh
همچنين براي اختصاص material و texture به شي ، نياز به تعريف متغيرهاي زير داريم :
Dim MeshMaterial As D3DMATERIAL8
Dim MeshTexture As Direct3DTexture8
حال به سراغ بازنويسي روتين InitGeometry مي رويم :

- تعريف متغيرهاي مورد نياز :
Dim mtrlBuffer as D3DXBuffer
Dim TextureFile as String
Dim n as Long

- گرفتن داده هاي شي از فايل X :
Set Mesh=D3DX.LoadMeshFromX app.path&"\"&"yourfilename",D3DMESH_MANAGED,D3DDevice,Nothing,mtrlBuffer,n

- استخراج اطلاعات materiasl شي و تنظيم پارامتر Ambient :
D3DX.BufferGetMaterial mtrlBuffer,0,MeshMaterial
MeshMaterial.Ambient=MeshMaterial.Diffuse

- استخراج نام بافت بکار رفته براي شي :TextureFile=D3DX.BufferGetTextureName(mtrlBuffer,0)x

- ساخت بافت :
If TextureFile<>"" Then
Set MeshTexture=D3DX.CreateTextureFromFile D3DDevice,app.path&"\"&TextureFile,128,128,D3DX_DEFAULT,0,
D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_FILTER_LINEAR,D3DX_FILTER_LINEAR,0,Byval 0,Byval 0
End If


۳ - رندر نمودن شي : رندر نمودن شي چندان مشکل نيست اما همچنان بايد ماتريسها و تبديلاتي را که مي خواهيد ، خودتان مديريت کنيد .
D3DDevice.SetMaterial MeshMaterial
D3DDevice.SetTexture 0,MeshTexture
Mesh.DrawSubset 0

 

نسخه قابل چاپ              برگشت

عناوين مرتبط
1- مباحث پيشرفته Direct3D ( مقدمه ) پنج شنبه,30 مرداد 1384
2- مباحث پيشرفته Direct3D (درس دوم ) چهارشنبه,12 شهريور 1384
3- مباحث پيشرفته Direct3D (درس سوم ) پنج شنبه,28 شهريور 1384
4- مباحث پيشرفته Direct3D (درس چهارم) یک شنبه,30 شهريور 1384



نظرات كاربران



با قراردادن كد ذيل مي‌توانيد از سيستم نمايشگار اخبار ما بصورت رايگان در سايت/وبلاگ خود استفاده كنيد
 

معرفي شبكه فن آوري اطلاعات ايران به يك دوست

ايميل شما:
ايميل دوستتان:

تبـليغــات

تبليغات داخلي ...


حاميان ما ...


نقل اخبار/اطلاعات ساير سايتها/پايگاه‌ها لزوما به معناي تائيد آنها نيست، بلكه مسئوليت تمامي مطالب ارسالي به عهده پايگاه‌هاي مربوطه مي‌باشد
نقل مطالب سايت با ذکر منبع (www.IRITN.com) و نام نويسنده مجاز است.
All rights reserved. Copyright 2003-2006 by KEYANA IT Co.  Computed in 0.14 seconds
(Best Viewed With IE 6.0 or higher (1024x768