بتـــــاريخ : 2/28/2011 1:38:30 AM
الفــــــــئة
  • الحـــــــــــاسب
  • التعليقات المشاهدات التقييمات
    0 1576 0


    [دروس] تعال نبدأ مع Irrlicht على Net دروس تطبيقية

    الناقل : elmasry | العمر :42 | الكاتب الأصلى : DreamNet | المصدر : www.arabteam2000-forum.com

    كلمات مفتاحية  :

    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته

    بداية هذه أول محاولة لي في طرح عرض لبداية استعمال المحرك المشهور Irrlicht وان شاء الله سأضع بعض التطبيقات للنسخة الغير رسمية IrrlichtCP (CP=Cross Platform) وسرد بعض الفروق المهم هنا أننا نريد فتح طريق سهل لاستعمال المحرك وآمل أن أوفق في ذلك ان شاء الله

    بعض الملاحظات:
    1-الموضوع لا أعتبره مادة علمية تفيد كثيرا المتخصصيين بقدر ماهو إلا تطبيق عملي موجه للمبتدئيين الراغبيين في إستخدام المحرك على بيئة الدوت نت
    2-معظم الأمثلة التي سأطرحها إن شاء الله في هذا الجانب ستكون إما بVB2005 أو C#2005 Express (فقط لاني في العمل مثبت الأول وفي البيت مثبت الثاني )

    قبل البدأ:
    قبل أن نبدأ معا ولأنه جانب تطبيقي بحت يجب أن تتوفر لدينا الأدوات اللازمة :
    أولا : المحرك طبعا والموجود على الموقع الرسمي أين يمكن لكم تحميل الSDK وأنصح باستخدام آخر إصدار
    الموقع الرسمي للمحرك
    تحميل الSDK مباشرة من هنا
    Posted Image


    ثانيا: بيئة العمل طبعا بالدوت نت , يمكن تحميل C#2005 Express أو VB2005 Express من موقع Microsoft مباشرة
    Posted Image
    Posted Image
    بعد تحضير الأدوات نبدأ على بركة الله

    نفتح مشروع جديد على بيئة التطوير ونختار مشروع من النوع Console Application
    ارفق صورة : monthly_08_2007/post-23361-1187861985.jpg

    طبعا نحتاج للبدأ إضافة مرجع المكتبة الخاصة بالدوت نت والموجودة في الملف Irrlicht.NET.dll
    ارفق صورة : monthly_08_2007/post-23361-1187861994.jpg
    ارفق صورة : monthly_08_2007/post-23361-1187862003.jpg

    ملاحظة :
    1- لمستعملي الvs2005 فما فوق استعمال يجب استعمال تغليف المكتبة يعني نحتاج الى ملفات اضافية
    IrrlichtW.dll و libIrrlichtW.so هذه الملفات موجودة مع المكتبة IrrlichtCP
    طبعا هناك فرق بين الملف Irrlicht.NET.dll الموجود في المحرك الرسمي والموجود مع الSDK الخاصة ب IrrlichtCP
    لذلك لن نقوم باستبدال الملف الأصلي فقط ننسخ الملفين الذين نحتاجهما
    أو يمكنكم تحميلها من المرفق
    ملف مرفق  Dlls.zip (2.37ميجا بايت )
    عدد مرات التحميل : 770

    كما قلنا نضيف المرجع الخاص بالمكتبة

    بعدها سنحتاج إلى استدعاء فضاءات الأسماء اللازمة للبدء باستعمال دوال المحرك

    'VB code
    Imports Irrlicht
    Imports Irrlicht.Video
    Imports Irrlicht.Core

    //C# code
    using Irrlicht;
    using Irrlicht.Video;
    using Irrlicht.Core;


    في البداية يجب تحضير مخرج العرض للرسم ومن قوة محرك Irrlicht أن له القدرة للتعامل مع الDirectX و الOpenGl لذلك علينا تحديد الطريقة التي نريد بها التعامل مع الرسوم
    لذلك نحتاج إلى استعمال كائن من IrrlichtDevice التابع لفضاء الأسماء Irrlicht
    نعرف الكائن الذي تكلمنا عليه الخاص بالتعامل مع أجهزة العرض والذي سنقوم به برسم مختلف الكائنات داخله

    'VB code
    Dim device As IrrlichtDevice

    //C# code
    IrrlichtDevice device;



    هذا الكائن سيقوم بالتعامل مع نافذة الرسم لذلك يجب تحضيرها بتحديد البرامترات اللازمة
    وهي
    DriverType نوع المكتبة المستعملة للرسم
    Windowsize حجم شاشة الرسم من النوع Dimension2D
    Bits رقم يحدد نسبة للبكسل على الألوان
    Fullscreen من النوع boolean يحدد ان ما كان العرض سيكون ملئ الشاشة أو لا
    والبرامترات الباقية سنتطرق لها في حين استعمالها

    وبذلك يمكننا الآن تهيئة شاشة الرسم أو مخرج الرسم

    'VB code
    device = New IrrlichtDevice(DriverType.DIRECT3D9)

    //C# code
    device = new IrrlichtDevice(DriverType.DIRECT3D8);


    بعد أن هيئنا شاشة المخرج يجب علينا تهيئة المسؤول عن الرسم لذلك نعرف متغير من النوع IVideoDriver الذي سيكون مربوط بالمخرج الذي حددناه طبعا
    'VB code
    Dim driver As IVideoDriver = device.VideoDriver
    //C# code
    IVideoDriver driver = device.VideoDriver;



    الآن نعمل loop الأساسية التي لن تتوقف إلا إذا تم غلق النافذة المنشئة


    'VB code

    While device.Run
       driver.BeginScene(True, False, New Color(255, 100, 100, 100))
       driver.EndScene()
    End While

    //C# code
    while (device.Run())
    {
      driver.BeginScene(true, true, new Color(255, 100, 100, 100));
      driver.EndScene();
    }


    beginScene لها 3 برامترات تحدد طريقة عرض الأشياء مع المحرك irrlicht
    منها backBuffer و zbuffer الذي لا نحتاج تفعيله في الرسوم الثلاثية الأبعاد عادة
    ولون الخلفية المحدد بمزيج الألوان الأساسية

    طبعا يمكن تحديد عنوان شاشة الرسم باستخدام الخاصية WindowCaption لل device المستعمل
    device.WindowCaption = "First Test"
    ننفذ الكود
    مبروك هذا أول تجربة لنا لاستعمال المحرك

    هل هناك مشاكل؟
    نتأكد دئما من وجود الملفات اللازمة مع الملف التنفيذي المنشئ
    لاتنسوا في مجلد ال Debug الموجود تحت المجلد Bin يجب أن نجد الملفات التالية

    Irrlicht.dll
    Irrlicht.NET.dll
    IrrlichtW.dll
    libIrrlichtW.so



    سنرى في التطبيق القادم إن شاء الله كيف نقوم باضافة مجسمات ثلاثية وكسائها وكذلك اضافة كاميرا أيضا تتحرك طبعا

    كلمات مفتاحية  :

    تعليقات الزوار ()