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

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

فهرست

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

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


پاناسونيك و اينتل نسل جديد باتري رايانه‌هاي لپ‌تاپ را توليد مي‌كنند            خسارت ايجاد شده در تغيير پيش شماره‌ها بايد از سوي مخابرات جبران شود            دو سيستم مجزا را با يك مادربورد راه‌اندازي كنيد            فضاپيماي Discovery با 24 ساعت تاخير به زمين باز مي گردد            25 راز در معروف ترين موتور جستجوي دنيا            Yahoo، كليپ‌هاي خبري CNN و ABC را به صورت رايگان ارايه مي‌دهد            قانون تجارت الكترونيك(1)            ۲۰ ميليون سيم كارت تاليا طي دو سال آينده واگذار می شود            بيل گيتس يا بيل گيتس شکن!!            آنهایی که با فیلترینگ کاسبی می‌کنند!            سامسونگ صنعت توليد چيپ خود را تقويت مي كند            PersianForum.net، اولين سايت ايراني معرفي شده توسط مايكروسافت            آنتن هاى هوشمند            Professor Teaches Windows Vista (2 Full ISO CD )            کشف محقق ايرانى در انتقال داده هاى اينترنتى با استفاده از برق فشار قوى            8 نکته برای طراحی وب سایت            با SQL Server 2005 بيشتر آشنا شويد            نمایش متن به صورت متحرک توسط JavaScript            آمازون موفقيت خود را در كريسمس امسال جشن مي گيرند            اجراي استانداردهاي بين المللي با تعديل قوانين و مقررات موجود امكان پذير است            

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

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

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

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

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

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

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



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

موضوع : استفاده از 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