النتائج 1 إلى 9 من 9

الموضوع: مقدمة عن تصميم الألعاب 3D ثلاثية الأبعاد

  1. #1
    التسجيل
    06-08-2009
    الدولة
    الجزائر
    المشاركات
    59

    Post مقدمة عن تصميم الألعاب 3D ثلاثية الأبعاد

    السلام عليكم ورحمة الله تعالى وبركاته
    في هذا الموضوع سوف اقدم لك مجموعة من النصائح والمواقع والبرامج لكي تكون بإذن الله محترف صناعة ألعاب ثلاثية الأبعاد
    اولا اقرأ النصايح المتواضعة واعذرونا ان كان فيها اخطاء (مقدما)
    1- اول اجعل نيتك في برمجة الالعاب خالصة لله من حيث نصرة الاسلام
    2- الطريق صعب ولكن ليس مستحيل (ماتحتاجه بعد الاستعانة بالله ) (الوقت+ الصبروالمواصلة على التعلم) هذه بعض درر يزيد الدليقان (((والله انه صدق)))
    3- الطريق لبرمجة الالعاب الاحترافية طريقين لا ثالث لهما:
    directx xxxxx opengl
    والطريقان يوصلانك الى نهاية متشابهه تقريبا.

    كيف اتعلمهما...

    اولا لازم تكون مبرمج سي بلس بلس محترف (ممكن بالبيسك ولكن انا اتحدث عن الاحتراف) ,وتعلم السي سهل بإذن الله
    ولكن لابد من ان يكون لديك مصادر جيدة للتعلم وياليت تبحث عن كتاب عربي مميز (ركز على مميز)يعني ليس اي كتاب وان لم تجد فمن الدروس المنتشرة والمواقع الكثيرة وليس المجال لذكرها هنا ....
    ولكن لغة السي بلس تحتوي على مفاهيم جديدة على البعض مثل مؤشرات او الفئات وغيرها
    ولكن اتمنى ان لاتصدم ولاتيأس بسبب بعض الصعوبات التي تواجهك عند البداية يعني لاتقعد تمنى وتمنى وانت ماتعمل شي اجتهد وتعلم واحذر من بعض الدروس والاكواد البرمجية التي تجلب اليأس
    وتعلم السي بلس (من تجربة ) يحتاج اقل شيئ مدة 5اشهر وافرض انك جلست على السي بلس سنة كاملة يعني وش يبي يصير !!!!!!
    وامر اخر هو غير اساسي ولكن مهم
    وهو تعلم برمجة تطبيقات ويندوز من خلال دوال API
    حيث ستواجه في اول درس عمل نافذة من خلال دوال API ا
    هناك كتاب مجاني مترجم للعربية
    http://winprog.org/tutorial/files/f...rial-arabic.zip
    وهنا الامثلة
    http://www.winprog.org/tutorial/files/source.zip

    ============
    ثانيا:
    تقرر ماهو مصير التعب اللي تعبته بتعلم السي هل سيذهب هباء منثورا والا تسخره في شيٍ ممتع واحترافي كبرمجة الالعاب.
    اكيد انك تريد برمجة الالعاب (الاحترافية),,, طيب كيف؟
    عن طريق برنامج rpg maker او game maker !!!! مع احترامي الكامل والكبير لمحبي هالبرامج ولكن ليست لمن يريد الاحتراف. اما من يريد الاحتراف فالطريق ليس صعب
    لا اريد كثرة الكلام ..
    ====
    لتبرمج لعبة امامك طريقين سوف نبدأ بالدايركت اكس
    مميزاته
    1- متطور ويتطور عند كل اصدار من اصدارات الويندوز
    2- فيه شركة تدعمه وهي مكروسفت
    3- وجود dx sdk فيه ملف تعليمات ضخم طبعا شرح لجميع دوال الدايركت جرافييكس صوت فيديو شبكات اللي تبي
    4- دعم رهيب ل الاصوات والفيديو والشبكات فيستفيد منها حتى غير مبرمجي الالعاب
    البداية
    طبعا لازم يكون بجهازك دايركت اكس 9 تقدر تنزله من اي موقع للبرامج عربي او انجليزي حجمه حوالي 13 ميقا
    ثانيا
    نزل directx 9 sdk
    اهم شي فيه انه يوفر ملفات راسية للغة السي تمكنك من تطوير العابك من خلاله.
    وفيه ملف تعليمات واكثرمن 30 مثال للجرافيكس هذا عدا الاصوات والفيديو والشبكات
    http://www.microsoft.com/downloads/d...displaylang=en

    حجمه 441 ميقا ..صحيح كبير ولكن تتعب يوم في حياتك وتنسى واذا ماحملته لاتعب نفسك وتحاول تعلم الدايركت
    لانكلو ماحملته ستفقد الملفات الرأسية+ملف التعليمات الضخم+الامثلة الدسمة+......خلاص


    ====
    الامثلة:
    الامثلة كثيرة ولكن المميز قليل
    من المواقع الرائعة جدا جدا جدا جدا جدا جدا ......
    http://www.codesampler.com/dx9src.htm
    فيه مايزيد على 45 مثال من الصفر حتى الاحتراف طبعا بدون شرح ولكن عندك ملف التعليمات اذا مافهمت دالة معينة ابحث عنها
    -------------
    http://www.gametutorials.com/
    للاسف الموقع كان مجاني الى وقت قريب تقريبا قبل شهر ولكن الحين صار الملف الواحد ب 5 دولار....
    والحمدلله حملت بعض الامثلة يوم كان مجاني ولكن من اراد ان يشتري فليذهب اليه وفيه امثلة على السي+السي بلس+opengl+api
    -------
    http://www.drunkenhyena.com/
    ابحث في الموقع ستجد حوالي 10 امثلة تمشي الحال
    وتلك اهم الامثلة,,,,
    ولكن هناك عدد من الدروس والمواقع العامة سوف اذكرها في نهاية الموضوع.
    -كتب الدايركت اكس:
    كنت من عشاق جمع كتب الدايركت اكس فقد جمعت حوالي 8 كتب ......
    ولكن لم استفد من كتاب واحد (((لماذا )))
    لأن اسلوب الكتب يرفع الضغط فيشرح دالة معينة صفحة كاملة....حتى يجيك النوم ....من غير فائدة...

    الخلاصة :
    لاتعقد الأمل كثيرا على الكتب فكل ماهو بالكتب هو نسخة مما هو على النت....اعني الدايركت اكس فقط.
    وبما اننا ذكرنا مميزات الدايركت اكس سأذكر بعض عيوبها:
    1-تحتاج لمحترف في السي بلس فهي كائنات ودوال وثوابت طويلة صعبة الحفظ (وجهة نظري)
    2-مخصصة لبيئة ويندوز فقط.
    3-قلة الامثلة واختلافها من اصدار لآخر .
    --------------------------------------------------------------------------------------------------------
    الطريق الآخر
    OPENGL
    وهي المكتبة التي اخترتها حديثا وفضلتها على الدايركت اكس لعدة امور اهمها
    1- انها صدرت قبل الدايركت اكس فهي اقوى فكل اصدارات الدايركت اكس هي محاولة للوصول لمستوى OPENGL .
    2-مكتبة متنقلة تعمل على مختلف الانظمة
    3- كثرت الامثلة والتي تعد بالمئات لدرجة ان بعض الكتب التي تختص بالفيزياء والرياضيات تضع امثلة مكتوبة بOPENGL
    4-اهم ميزة على الاطلاق::::: اسهل وبمراحل من الدايركت اكس فهي عبارة عن دوال+ثوابت+متغيرات
    تفهم فائدتها وخلاص.

    الامثلة :
    1-الموقع المشهور جددددددا
    http://nehe.gamedev.net/

    وابحث في الموقع عن بعض الدروس الاخرى المتنوعة وبعض الروابط.

    2- موقع رائع فيه اكثر من 40 مثال
    http://www.codesampler.com/oglsrc.htm

    3-رابط فيه صفحة كاملة لامثلة:
    http://www.opengl.org/resources/code/index.html

    6-موقع رئيسي للOPENGL
    WWW.OPENGL.ORG
    فيه كتيبات وامثلة ودروس وملفات الرأسية و..و.....
    9-GOOGLE

    عيوب opengl
    1- تحس انها مشتتة وليست بتنظيم الدايركت اكس.(((اتفلسف)))
    2- لم اجد ملف مساعد يشرح جميع الدوال بتنظيم ودقة كما في الدايركت اكس.
    3-دعمها للشبكات ضعيف (هذا ان وجد) ولكن تستخدم directx play
    ومع ذلك تلك العيوب بسيطة ولاتذكر امام مميزاتها.

    الفيزياء:
    هالكلمة تسوي زحمة
    وتخوف.....وتكره بالبرمجة
    ===
    هنا محرك فيزيائي مجاني:
    http://www.tokamakphysics.com/
    ويوجد في الموقع http://www.codesampler.com ثلاث امثلة على المحرك سواء للدايركت اكس او OPENGL
    وفي موقع http://www.tokamakphysics.com امثلة على المحرك .
    والمحرك مميز تستفيد منه فيه اصطدام وقفز وغيرها .
    وتوجد امثلة هنا لاحد كتب الفيزياء المختصة في برمجة الالعاب
    http://examples.oreilly.com/physicsgame/

    والفيزياء لاتخاف منها ولايتقنها الا العمالقة لانك لو اتقنتها 100% فان شركة SONY ستخطفك.....
    ولكن تحذير :::::::
    اذا لم تدرس في المدرسة المتجهات+قوانين نيوتن +المقذوفات الأسية والمنحنية وغيرها من المواضيع الاساسية فاني اشك انك ستتعلم الفيزياء من خلال المواقع فانتظر حتى تكبر و تدرسها
    اما الرياضيات اهم شي تعرف الجمع والطرح والمصفوفات والدوال المثلثية (جتا وجا وطقتها) ---- سهلة بالسعودية ناخذها بثاني ثانوي----



    ::::مواقع عامة مفيدة::::
    WWW.GAMEDEV.NET
    WWW.FLIPCODE.COM
    WWW.CODEPROJECT.COM
    ويوجد عدد من الدروس المتناثرة هنا وهناك لذلك ابحث واسأل.
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    طبعا هناك تقنيات متقدمة تبرمجها بالدايركت اكس او opengl على سبيل المثال cg arb shaders وهي متقدمة وتتطلب كرت جرافكس قوي
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    هذا ماوددت قوله ,,,,
    واذكرك ان لاتستخدم برمجة الالعاب الا بالخير ...الا هل بلغت اللهم فاشهد....

  2. #2
    التسجيل
    06-08-2009
    الدولة
    الجزائر
    المشاركات
    59

    رد: مقدمة عن تصميم الألعاب 3D ثلاثية الأبعاد

    DirectX أم OpenGL ?
    -أيهما أختار قبل أن أبدأ أريد أن أنبه أن كلا المكتبتين يمكن إستخدامهم في مشروع واحد أو عمل واحد لسد ثغرات الأخر (مستوي متقدم)....
    اذا كنت مبرمجا فانت واحد من ثلاثة :
    اما تحب الجرافيكس والملتيميديا وتعرف شيئا عن كيف بعمل اللاعبون الكبار في هذا المجال ,,
    أو تحب الجرافيكس والملتيميديا ولاتعرف كيف يتم التعامل مع مثل هذه الأمور من قبل المتمرسين والمطورين والمبرمجين وترغب في أن تعرف ,,
    أو انه ليس لديك علاقة بهذا الأمر ولاتريد أن تدخل نفسك في مجال تطوير جديد اضافي ,,

    فاذا كنت من النوع الأول أو الثاني فاستمر في قراءة المقالة فستفيدك باذن الله .

    أيهما أستخدم Direct3D أم OpenGL ؟ دائما مايطرح هذا السؤال في الكثير من منتديات الحوار ولايستطيع أحد في النهاية أن يعطيك اجابة واضحة ومباشرة ,, والسبب في ذلك تنوع الآراء ووجهات النظر من ناحية النظرة في الماضي وماآلت اليه الآن والمستقبل القريب والبعيد ,,

    الاجابة على هذا السؤال صعبة ,, لكن أفضل اجابة هي مايتوصل اليها الشخص بنفسه ! لذا ستساعدك هذه المقالة باذن الله لتكوين الأرضية المناسبة لتفهم مالذي ستقدم عليه مسقبلا وماهي المنصة التي ستستعملها في ذلك Direct3D أم OpenGL ؟

    أولا : Direct3D :-

    لمحة عامة :

    Direct3D هو أحد أعضاء مكتبة DirectX للملتيميديا, والكل يعرف ماهي DirectX بالطبع, وسنتناول بشكل سريع لاحقا في هذا المقال بعض جوانب DirectX الأخرى.
    قدم DirectX لأول مرة عام 1995 , حيث رغبت Microsoft من شركات البرمجة حينئذ أن تتم برمجة الألعاب لتعمل على الوندوز وليس على الدوز , لكن كانت المشكلة في أن الوصول للعتاد( كرت الشاشة, كرت الصوت .. وغيرها ) بشكل مباشر في الوندوز أمرا صعبا أكثر مماهو عليه في الدوز , لذا رأت Microsoft في أن تقوم بتطوير مكتبة برمجية تعمل كطبقة مساعدة للوصول للعتاد بشكل مباشر مما يساعد في الوصول لذاكرة كرت الشاشة ممايعطي نتائج أسرع بكثير عند عملية تلوين الرسومات على الشاشة .
    استحسنت بعض الشركات الفكرة , لكن الأغلبية منها لم تنصع لذلك لأن DirectX1 الذي قدم في 1995 مع Windows 95 أول مرة , لم يكن مذهلا بما فيه الكفاية ليقنع العاملين في مجال برمجة الجرافيكس للانتقال لاستخدامه , لذا فشلت Microsoft في المحاولة الأولى , وبدأت بتطوير المنتج حتى أصدرت DirectX2 لكنه أيضا لم يكن مقبولا بما فيه الكفاية حتى أصدرت DirectX3 وتم استحسانه بشكل أكبر .
    بعدها توالت اصدارات DirectX الخامسة ثم السادسة والسابعة والثامنة وأخيرا التاسعة , وسيتم تصدير النسخة العاشرة مع ال Windows Longhorn , (بالمناسبة لاتوجد نسخة رابعة من DirectX حيث تم تجاهلها والقفز مباشرة من 3 الى 5 ) .
    تم تقديم عضو DirectX وهو Direct3D الخاص بعمليات التصيير والتلوين Rendering الثلاثية الأبعاد لأول مرة عام 1996 مع DirectX3 , وكانت واجهة Direct3D حينئذ هي Direct3D .
    بعدها تم تقديم Direct3D2 مع ال DirectX5 , ثم Direct3D3 مع DirectX6 , ثم تم القفز مباشرة لتغيير طريقة التسمية ل Direct3D حيث أصبحت Direct3D7 مع DirectX7 , ثم Direc3D8 مع DX8 و Direct3D9 مع DX9 .
    تقريبا الواجهة الوحيدة التي تحظى بتطوير دائم مع كل نسخة من نسخ DirectX هو ال Direct3D , حيث أن باقي المكتبات أمثال DirectDraw و DirectMusic , لم تحظ بتطوير دوري كما حدث مع D3D (اختصار ل Direct3D ) .
    النسخة الحقيقية الأولى بالنسبة للمطورين التي كان يمكن الاعتماد عليها هي DirectX5 والتي تم تصدير Direct3D2 معها , استحسنها المطورون بشكل كبير ,, ولو كنت تلعب بألعاب سنة 97 و 98 على كمبيوترك الشخصي كنت ستذكر مشاكل DirectX5 مع الوندوز المعرب , التي حلت بشكل أفضل في النسخة السادسة مع تقديم واجهة D3D3 .
    النسخة الحقيقية التي أذهلت المطورين هي النسخة السابعة ,, حيث تعتبر بداية نهضة حقيقية في تطوير برامج الجرافيكس ,, قدمت DX7 واجهة D3D7 و DirectDraw7 أيضا .
    لو راجعت ملف الرأس d3d.h الخاص بأي نسخة حالية (7 او 8 أو 9 ) من DirectX ستعرف الفروق الجوهرية بين كل نسخة والأخرى , مثلا لو راجعت الواجهه IDirect3D7 ستجد فروق طفيفة بينها وبين الواجهات السابقة ,, لكن عمل D3D الرأيسي يكمن في الواجهة IDrect3DDevice ,, حيث ستلاحظ كل مرة اضافة طرق Method " وهي تسمية للدوال التي تكون في بيئة الواجهات وليس الفئات " جديدة تعبر عن تطور النسخ الجديدة .
    لن تستطيع أن تعرف كيفية استخدام هذه الدوال الا لو امتلكت على الأقل ال SDK الخاص بالنسخة المراد تعلمها .
    النقلة الحقيقية " في وجهة نظري " هو ماحدث في Direct3D8 الذي طرح مع DirectX8 . حيث أكبر تغيير طرأ هو دمج ال DirectDraw داخل ال Direct3D ,, حيث لانحتاج كل مرة نريد فيها أن نكتب برنامج Direct3D أن نبدأ بخدمات DirectDraw لحصول على واجهة Direct3D لننشيء بعدها ال Device وهكذا لنبدأ في التطوير الفعلي ,, حيث تم اختصار الأمر بانشاء كائن لواجهة IDirect3D8 مباشرة دون الحاجة حتى لذكر سيرة واجهة DirectDraw وهي IDirectDraw7 (لاحظ هنا أن واجهة DirectDraw وهي IDirectDraw7 هي نفسها الواجهة في DirectX7 و DirectX8 حيث لم يتم تطويرها من 7 حتى الآن مطلقا ).
    هذا التغيير الجوهري الذي طرأ على Direct3D8 اختصر عدد الأسطر اللازمة لكتابة كود باستخدام تقنية الجرافيكس ل DirectX بشكل كبير , حيث كانت هذه المشكلة هي أكثر مايرعب الناس في الDirectX ويجعلهم ينتقلون لل OpenGL . عموما تم اضافة المزيد من الخدمات لل Direct3D8 أمثال تقنية ال Point Sprite التي كانت تحتاج لتجهيز خارجي بكتابة فئات خارجية مساعدة ,, تم تضمينها للتسهيل داخل ال Direct3D , حيث توجد الكثير من هذه الحيل والتقنيات التي يستخدمها المبرمجون ولم تتم اضافتها لل Direct3D بعد أمثال ال Particle System و Light Volume فربما تتم اضافتها في نسخ لاحقة .
    أخيرا تم طرح DirectX9 السنة الماضية وقدمت معه واجهة D3D9 وهي IDirect3D9 بدون تطوير واجهة DirectDraw أيضا حيث ظلت كما هي IDirectDraw7 .عموما تمت اضافة بعض الأمور الجديدة للواجهة IDirect3D9 ,, لكنها ليست ملحوظة للمستخدم العادي أمثال line antialiasing (تنعيم حواف الخطوط ) وهي تقنية مستخدمة في أغلب الألعاب حيث تعطي تدرجات من معالجة البيكسلات الناتئة لازالة التكسرات وجعل الحواف تبدو أنعم في المشهد لكنها تحتاج لعتاد ( كرت شاشة ) قوي .

    مالسيء في Direct3D ؟ :
    بداية معمارية DirectX كلها مبنية في الأساس على تقنية COM وهي اختصار ل Component Object Model , تقنية COM تقنية مرعبة في تطويرها وصعبة نسبيا في استخدمها ,, لكنها مرنة جدا في التعامل .
    تم تطويرها تحديدا لاستخدامات ال Distributed Systems أو الأنظمة الموزعة ,, حيث يمكن انشاء مكون COM واستخدامه من على خادم انترنت أو Server بعيد وهذا القسم مايسمى ب DCOM اختصار ل Distributed Com " كوم الموزعة ",, ويحتاج لمعلومات أكثر عند طلب انشاء واجهة صالحة للاستعمال من كائن DCOM معرف مسبقا ويتم استدعاء الدالة CoCreateInstanceEx ببارمتراتها الغريبة لانشاء كائن لواجهة صالحة للاستعمال.
    أما مانستخدمه في DirectX فهي واجهات COM عادية لحسن الحظ ,, وانشاء كائنات واجهة صالحة لاستعمال منها أمر أسهل من ال DCOM . يتم استخدام CoCreateInstance لانشاء تواجد كائن لواجهة كائن COM , وتوجد دالة أخرى لانشاء تواجد كائن لواجهة من أصل كائن آخر وهي مقدمة بشكل أساسي مع كل مكون COM حيث تقدم الواجهة IUnknown الطريقة "الدالة" QueryInterface لتعيد كائن صالح لواجهة ذات GUID معين , وأي واجهة لكون COM يجب أن ترث من الواجهة الأساسية IUnknown .
    المشكلة أن قوانين COM كثيرة نوعا ما وطريقة التعامل الكائنية فيها طويلة مقارنة بدوال OpenGL الصريحة والمباشرة , وتحتاج لتعود من قبل المبرمج حيث أنها في البداية تبدو لو انغمست في تعقيدتها لغة برمجة جديدة كليا .

    يمكن للبعض أن يعتبر أن DirectX مبنية على أساس COM أمرا سيئا فيما يعتبره المتقدمون ميزة , حيث من ميزات COM الديمومة , وهي تعني أني الواجهات التي تم تعريفها وانشائها سابقا أمثال Direct3D2 مثلا من سنة 1996 وحتى الآن لن تتغير مطلقا في جميع أرجاء العالم , حيث أن الواجهة معرفة برقم فريد عموما GUID ذو 128 بت يضمن عدم تكرار اسم الواجهة لفترة طويلة .
    فالذي يحدث أن Microsoft عندما تريد تطوير واجهة جديدة مثلا تطوير واجهة Direct3D7 حيث كانت آخر واجهة قبلها Direct3D3 فكل الذي سيحدث هو انشاء الواجهة Direct3D7 الجديدة كليا برقم GUID مختلف وكتابة الطرق "الدوال " الجديدة الخاصة بها والوراثة من الواجهة التي قبلها وهذه الوراثة كما التي في الفئات Classes العادية . بهذا يمكن لمطور أن يكتب برنامجا يستخدم الواجهات Direct3D8 مثلا أوحتى Direct3D2 في وقت تتواجد فيه Direct3D9 !! . ولهذا السبب أيضا ستظل الألعاب المكتوبة سابقا بنسخ أقدم من DirectX بالعمل في حين أن ملفات ال dll في النظام تتغير حسب النسخة الجديدة من DirectX والتي ستتضمن بالطبع النسخ الأقدم من الواجهات السابقة .

    من المساويء أيضا أن DirectX يتم تطوير نسخة جديدة منها كل سنة أو أكثر تقريبا , ويتم عادة اضافىة أمور في DirectX لم تتم اضافتها في العتاد المصنع من قبل الشركات , مثلا توجد حتى الآن بطاقات عرض " كروت شاشة " لاتدعم DirectX9 بشكل كامل , لكن بطاقات العرض المتطورة أمثال GeForceFX 5200 ومافوق يتم دعم DirectX9 بشكل كامل فيها , لكن بطاقات العرض الرخيصة لايتم دعم كل ميزات DirectX9 فيها حتى فترة من الزمن ,,
    مقارنة بتطور العتاد السريع جدا هذه الايام يعتبر المحققون أن تطور DirectX شبه السنوي بطيء نوعا ما حيث يظهر جيل جديد من بطاقات العرض كل 8 شهور تقريبا , وأقول جيل جديد وليس سرعات أعلى وفقط , ناهيك عن العتاد الذي يدعم ميزات اضافية من هنا وهناك كل شهرين أو ثلاثة.

    من المساويء التي كانت في DirectX7 كما قلت البدأ بDirectDraw يزيد الكود بشكل كبير للابتداء بالأمور الحقيقية مثلا رسم أول مضلع في الشاشة حيث كنت تحتاج لحوالي 800 سطر , لكن بعد Direct3D8 أصبحت عدد الأسطر حوالي 200 سطر فقط للبدأ المباشر من الصفر ,, لكن مع تنصيب DirectX9 يتم انشاء مداخل جديدة ل Wizard مع ال VS.NET للابتداء ال Framework اطار العمل الخاص ب Direct3D حيث يمكنك أن تبدأ برسم أول مضلع في المشهد بعد 20 سطر كود فقط أو أقل !! لكن ال Framework يحتاج لبعض التعود على مظهره حيث هو منظم بشكل كائني كليا , ويحتاج لبعض الصبر لفهم مداخله ومخارجه حتى تعتاد عليه . بقي أن أذكر أن ال framework كان خيار المستخدمين المتمرسين منذ فترة طويلة ,, لكن بعد اضافته على شكل Wizard أصبح الأمر أسهل وأسرع كثيرا .

    أمر آخر مقارنة ب OpenGL حيث أنه Open Standard وهذا يعني أنه يمكن لشركات أخرى أن تطور وتزيد في ال OpenGL حتى يتم في النهاية تبنيها من قبل لجنة ال OpenGL وهي ARB , لكن بالنسبة ل DirectX فهي حكر ل Microsoft فقط , يمكن اعتبار هذا الأمر سيئة ويمكن أن لايعتبر كذلك , لأنه في النهاية مطورو ال DirectX يتخذون قرارات التطوير بعد الرجوع لعدة مصادر مختلفة وبعد التأني والمراجعة .

    أمر آخرأنه قد تم اعتماد لغة السي++ للتطوير باستخدام DirectX في الأصل , لكن أي لغة تدعم COM ويمكنها التخاطب مع مكونات COM واستخدام المؤشرات يمكن أن تستخدم DirectX , حتى وقت قريب لم يكن بالامكان كتابة Code ل DirectX باستخدام لغة الفيجوال بيسك , لكن تم الالتفاف على هذا الأمر ابتداء من DirectX7 , حيث تمت اضافة مكتبة جديدة وهي dx7vb.dll لاستخدامات Visual Basic .
    اللغات الأخرى أمثال Delphi و Java يمكنها استخدام DirectX بسهولة أيضا , مع أنه توجد نسخة DirectX خاصة بالجافا اسمها DirectX For Java3D .

    وبالطبع أسوأ مافي ال DirectX أنه لايمكن استخدامه سوى في بيئة Microsoft Windows , وهذا يجعله غير عمليا في نظر أصحاب المنصات المتعددة والبيئات المفتوحة .

    كلمة أخيرة :-
    أغلب أو بالاصح كل شركات تصنيع بطاقات العرض عملون على دعم DirectX في منتجاتهم , أي أن فرصة كتابة كود باستخدام تقنيات متطورة في آخر نسخة DirectX لتعمل بشكل جيد أكبر من تلك التي تكون عند استخدام OpenGL , حيث لايتم دعم امتدادات OpenGL وهي المكتبة التي بها الأمور المتطورة والتي يتم تنقيحها وزيادتها بشكل سريع موجودة في ملفات الرأس glext.h . هذه الامتدادات لايتم دعمها من قبل مصنعي العتاد "بطاقات العرض" بشكل ثابت , لذا يجب استخدام بطاقات عرض معينة لدعم هذه الخصائص .
    ففي النهاية direct3D يكون كتلة واحدة يتم تطويرها كل سنة بدون أي لواحق أخرى , سوى ال Patches , ال OpenGL بها ملفات الامتداد وهي قوية جدا وبها أمور فعالة لغاية , لكن اذا لم يتم تبنيها من قبل مطوري بطاقات العرض فما الفائدة ؟!!

    أمر آخر هو أنه يوجد حاليا Managed DirectX , مصمم ليبقى ويعمل مع لغات برمجة منصة الدوت نت أمثال VB.NET والسي# والسي++ دوت نت , وأصبحت أسهل من ال Native DirectX في الاستخدام .

    أخيرا ينصح المطورون باستخدام DirectX و Direct3D لكتابة الألعاب في منصة الوندوز , ولو كنت تعرف أن XBOX بشخصه ألعابه مطورة باستخدام DirectX لمجدت هذه المنصة الرهيبة فعلا .
    وينصح المطورون في نفس الوقت باستخدام ال OpenGL لاستخدامات الأخرى , أمثال كتابة برامج الجرافيكس , وعمليات المحاكاة CAD , وبعض الأمور الأخرى المتخصصة , وسبب ادعائهم بالطبع هو أنه سيتم تشغيل كهذه برامج في منصات متخصصة أمثال UNIX وغيره . لكن بالطبع كل مافي OpenGL يمكن كتابته بال Direct3D , والعكس صحيح أيضا لو تم استخدام ال Extensions وهي glext.h مع العتاد المناسب , لذا يمكنك كتابة برامج محاكاة عمل مفاعل نووي باستخدام CAD في منصة الوندوز وباستخام DirectX .


    ثانيا : OpenGL :-

    لمحة عامة :
    في باديء الأمر تم تطوير OpenGL من شركة Silicon Graphics المتخصصة عام 1992 , و OpenGL حاليا يتم مراجعتها كليا من قبل هيئة ((ARB Architectural Review Board المكونة في الأصل من عدة شركات أمثال 3D Labs, SGI, Apple, nVidia, ATI, Intel, id Software, yes. وحتى Microsoft .
    OpenGL هي Open Standard وليست Open Source, أي أن كودها المصدري ليس متاحا للجميع, وانما للشركات فقط التي تريد تطويره.

    توجد نسخة من OpenGL من SGI وتوجد نسخة أخرى خاصة ب Microsoft وهي تلك التي تصدر مع نظام التشغيل وندوز , ونسخة Microsoft مبنية في الأساس على نسخة SGI .
    وتوجد نسخة مكتبة API أخرى مشابههة في عملياتها ودولها لل OpenGL وتسمى ب Mesa3D http://www.mesa3d.org لكنها مقدمة ك Open Source , حيث يمكنك الوصول لكودها المصدري وتفعل به ماتشاء وهي مكتبة متوازنة وقوية وتعمل في كل منصات التشغيل , لكن مشكلتها الكبرى أن عملياتها الداخلية غالبا لاتكون مدعومة في العتاد " بطاقات العرض " .

    مكتبة OpenGL ليست كما ال DirectX تعتمد على بنية COM ف OpenGL عبارة عن مكتبة دوال API عادية ومباشرة ويمكن كتابة كود كامل بها باستخدام أي لغة برمجة وبشكل مباشر , من الجافا وحتى VB مرورا بالسي والسي++ .
    مكتبة OpenGL أيضا كما Direct3D تستخدم مجاري التحويل والاضاءة لتحويل واضاءة الكائنات بنفس الاسلوب تقريبا , وبشكل عام اسلوب كتابة الكود في التقنيتين متشابه وبشكل كبير , لذا يمكن لمن يتعلم Direct3D أن يتقن OpenGL بشكل سريع جدا , لكن العكس قد يحتاج لبعض الوقت , نظرا لبعض تعقيدات الابتداء ب directX كاستخدام الواجهات والتعامل مع COM .
    أسلوب OpenGL الدالي يجعل كتابة الكود ومعالجة الأخطاء أسهل من تلك التي في Direct3D , لذا يمكن للمبتدئين في مجال الجرافيكس تعلم OpenGL أسرع من Direct3D , لكن عندما تتقدم في المستوى وترغب في الدخول للأمور المتقدمة أمثال ال Point Sprite مثلا فانها مدعومة داخل Direct3D ابتداء من DirectX8 , لكنك تحتاج للامتدادات الخاصة ب OpenGL لتكتب كود مثل الذي ب Direct3D , والمشكلة تكمن في دعم الامتدادات من قبل مصنعي العتاد وفقط .
    OpenGL Extensions امتدات OGL, هي عبارة عن ملف glext.h مع المكتبة الخاصة بها وتضم الكثير من الدوال الجديدة والبارمترات مع معرفات خاصة بها تقوم بأمور اما لتسهيل خصائص سابقة, أو لدعم ميزات جديدة موجودة في العتاد "بطاقات العرض".
    عموما الامتدادات مرنة للغاية وتضم الكثير جدا من الدوال المفيدة والسريعة لكنها لاتكون غالبا مدعومة من كل شركات تصنيع العتاد , والأمر الآخر أنه يمكن كتابة كود قوي جدا بها لكنه في نفس الوقت قد يكون معقدا وغامضا ومتعب في ازالة العلل.

    بالطبع اعتماد OOP كما في DirectX يسهل الوصول للدوال المطلوبة دون الدخول في تعقيدات كثرة الاسماء في البرمجة الاجرائية كما في OpenGL , حيث البرمجة الاجرائية باستخدام دوال فقط في OpenGL يسبب في مشاكل كثرة وتشابك وتعقيد طريقة التسمية .

    والمميز في OpenGL أنه يمكن استخدامه في كل منصات التشغيل , والكثير من الألعاب الناجحة مكتوبة أيضا بهذا المحرك .

    أخيرا نسخ ال OpenGL المقدمة من قبل Microsoft بدأت بالنسخة OpenGL 1 ثم OGL 1.1 ثم 1.2 ثم 1.3 ثم أخير 1.4 .

    مالسيء في OpenGL ؟

    أولا الكثير من الامتدادات الموجود خاصة بشركات تصنيع عتاد معينة فقط , أي أنها لن تعمل في بطاقات عرض أخرى . والسبب في ذلك أنها مقدمة من قبل الشركات ليس للأغراض التجارية العامة وانما لاغراض البحوث والتصميم الخاصة والاختبارات .

    أيضا طريقة تسمية الدوال قد تتسبب في الكثير من الارباك لكثرتها وعدم اعتمادها على OOP .

    وأيضا بالمقارنة مع Direct3D , يقدم Direct3D خدمات أكثر من تلك التي في OpenGL بدون الامتدادات وللمزيد من التفاصيل في هذا الشأن راجع الجدول في الصفحة التالية
    http://www.xmission.com/~legalize/d3d-vs-opengl.html

    كلمة أخيرة :-

    اذا كنت تكتب برامج لتعمل في منصة خارج الوندوز فابتعد عن DirectX وعليك ب OpenGL فهي المطلوب في هذه الحالة . أما ان كنت تكتب برامجا للوندوز فأنا أنصحك ب DirectX والسبب لأنها مدعومة وبشكل كامل من أغلب مصنعي العتاد هذه الأيام , هذا بالطبع اذا كنت تكتب برامجا تجارية للتوزيعها في السوق كما في الألعاب مثلا . لكن اذا كنت تكتب برامجا لعمليات محاكاة الانظمة باستخدام CAD مثلا أو عمليات تصيير لمجسمات ونماذج معقدة أخرى فلك الخيار في تبني Direct3D أو OpenGL , لكن قد يتفوق OpenGL لو وجدت مثلا بعض بطاقات العرض المتقدمة للمحترفين ذات الأسعار أكثر من 1000 دولار تدعم بعض الخواص المتقدمة للامتدادات في OpenGL فعندها OpenGL قد يكون الخيار الصحيح .

    لكن في أغلب الاحيان قد نستخدم Direct3D لبرامج الوندوز للسبب الوظائف المتقدمة بشكل عام والدعم من قبل كل مصنعي العتاد وأيضا لأن Direct3D مدعوم داخل مكتبة متكاملة بها أعضاء أخر وهم :

    1) DirectDraw
    2) Direct3D
    3) Direct Music
    4) Direct Sound
    5) Direct Play
    6) Direct Show
    7) Direct Input
    8) Direct Setup

    يشكل الاعضاء الثمانية حلقة وصل قوية لتطوير برامج متقدمة جدا في مجالات متعددة من الصوت والصورة والعرض وحتى التحكم في عصى الألعاب Joystick وأيضا اللعب عبرة الشبكة Multiplay .
    توجد أيضا مكتبة صوت خاصة بال OpenGL وهي OpenAL , ويتم حاليا الاعداد لمكتبة تسمى OpenML وهي بالنسبة ل OpenGL كما ال DirectX لل Direct3D .

    وأيضا يتم حاليا التجهيز للنسخة OpenGL 2 ,ويمكنك متابعة بعض التفاصيل على هذا الرابط http://www.3dlabs.com/support/developer/ogl2/index.htm

    أداء Direct3D وأداء OpenGL :

    الأداء بين الاثنين بشكل عام متقارب ولايتفوق أحدهما على الآخر بسبب البنية الداخلية مطلقا , ولكن يمكن أن يتفوق أحدهما على الآخر بسبب الامكانات المضافة لبطاقة العرض أو العتاد بشكل عام . فمثلا بطاقة عرض تدعم كل وظائف Direct3D9 جربنا عليها برنامجين أحدهما مكتوب ب Direct3D9 يستفيد من الامكانيات القصوى ل Direct3D9 التي يدعمها العتاد , والآخر مكتوب ب OpenGL "وغالبا ماسيكون مكتوب بميزة موجودة في ال Extensions " , اذا لم تكن ميزة ال Extension مدعومة في بطاقة العرض فان كود Direct3D9 سيعمل أسرع وبكل تأكيد هذا اذا عمل كود OpenGL أصلا حيث اذا لم تكن الميزة التي يعمل بها البرنامج مدعومة في بطاقة العرض يمكن ل OpenGL أن يستخدم ميزة Software Rendering لمحاكاة العمليات التي تحدث في معالج بطاقة العرض GPU داخل المعالج الرئيسي CPU , وبالطبع كل هذا مقابل الكثير من التأخير في الوقت , حيث أن معالج بطاقة العرض GPU أسرع في العمليات المخصصة للعرض من ال CPU العام .

    عموما لم أجري الكثير من التجارب في هذا الشأن, لكن سأقوم بها قريبا وألخص النتائج وأضيفها في المقال باذن الله .

    برامج تم تطويرها باستخدام OpenGL أو Direct3D :

    كما ذكرت سابقا XBOX يتم تطوير ألعابه باستخدام محرك Microsoft DirectX والكثير من الألعاب الناجحة جدا مكتوبة ب DirectX أمثال Fifa بأجزائها , Unreal Tournament , Generals وغيرها الكثير بشكل عام أغلب العاب ال PC مكتوبة ب DirectX .

    Play Station2 يدعم OpenGL, والمحرك المدهش الخاص ب Quake3 تم تصميمه باستخدام OpenGL ,Half-Life تم تصميمه بكلا المحركينOGL و D3D "كل على حده في نفس الوقت " , برامج الجرافيكس المتطورة أمثال 3DStudio Max تم تصميمه أيضا ليدعم كلا المحركين في نفس الوقت .

    * لك أن تختار من هما لتعمل عليه في مشاريعك بالمستقبل إن شاء الله .

  3. #3
    التسجيل
    06-08-2009
    الدولة
    الجزائر
    المشاركات
    59

    رد: مقدمة عن تصميم الألعاب 3D ثلاثية الأبعاد

    ماذا بعد ؟ ما الخطوة القادمة؟
    أنا أعرف إنه لازال في الأفق مقدمات تم تجاهلها ..!
    إذا ما الحل ؟
    بسيط
    كمقدمة
    1- ان المحركات هي أخر خطوات تعلم برمجة الألعاب .
    2- ليس الـ DirectX او كما نسميه الـ X المكتبة الوحيدة أو الأشهر أو الأفضل أو حتي الأسهل في برمجة الألعاب ، ولكن
    مكتبة الـ OpenGl وملحقاتها من أعظم مكتبات تصميم الـ 3D بصفة عامة.
    3- لأكون مصمم العاب من الجيل الحلي يلزمني تعلم:
    أ-البرمجة علي ++C (الأفضل)-VisualBasic أو الـ #C أو VisualBasic.NET.
    ب-دراسة الـ DirectX أو الـ OpenGl بإحتراف لأهميتهم كعامل ربط بين الكود البرمجي والـ 3D Model أي النماذج ثلاثية الأبعاد.
    ج-دراسة الألكترونيات و الاسيمبلي Assimbly.
    ء-دراسة الفيزباء والرياضيات الثلاثية الأبعاد :تفاضل-تكمل-هندسة فراغية...إلخ.
    هـ -معرفة ان المحركات في تصميم الألعاب نوعين (رسومي-فيزيائي).
    -المحرك الرسومي: هو محرك تصميم Designing و رسم و التحكم في المجريات وعمليات التصييرRendering و العمليات الزسومية البسيطة وهذا ما نستطيع تصميمة.
    -المحرك الفيزيائي: هو المحرك المستحيل ؟! لأنه المسؤل عن الحركة والمادة والجزيئات والعمليلت المتسلسلة Chain Reactions والخوارزميات, وهذا المحرك غالبا أقصد دائماً نحضره جاهز..لماذا؟ لأن تصميمه يحتاج الي 20 سنة ومن منا لديه هذا الكم من وقت الفراغ؟
    * الخوارزميات: هي عمليات منطقية وهي تمثل الطريق الذي يسير عليه القصة ودورها يائتي في كونها عامل تخيير لك بأن تنهي كل مرحلة بالشكل الذي يناسبك وقرباً إنشاء الله سأحضر رسم يبسط العملية لكم أكثر.
    و-الذكاء الأصطناعي AI:هو ما لم اصل غليه بعد لأتمكن من شرحه ولكنه العامل المحدد علي ما اظن لمستوي صعوبة اللعبة.
    *مهمة الدايركت أس DirectXاو الأوبن جي إل OpenGl في المحرك هي الأمتداد الذي يمكننا أثناء التصميم من التعديل في اللعبة من خلال التصميم الرسومي والكود البرمجي وربطهم لتصميم اللعبة وهي المكتبات الأشهر والأضمن والأكثر إنتشاراً في التعمل مع تصميم الألعاب.
    > اسف للأطالة ..., وأية خدمة أو معلومة لدي لن أبخل عليكم بها إنشاء الله ولا أي مسلم.

  4. #4
    التسجيل
    06-08-2009
    الدولة
    الجزائر
    المشاركات
    59

    رد: مقدمة عن تصميم الألعاب 3D ثلاثية الأبعاد

    ماذا بعد ؟ ما الخطوة القادمة؟
    أنا أعرف إنه لازال في الأفق مقدمات تم تجاهلها ..!

    إذا ما الحل ؟
    بسيط
    و كمقدمة
    1- ان المحركات هي أخر خطوات تعلم برمجة الألعاب .
    2- ليس الـ DirectX او كما نسميه الـ X المكتبة الوحيدة أو الأشهر أو الأفضل أو حتي الأسهل في برمجة الألعاب ، ولكن
    مكتبة الـ OpenGl وملحقاتها من أعظم مكتبات تصميم الـ 3D بصفة عامة.
    3- لأكون مصمم العاب من الجيل الحلي يلزمني تعلم:
    أ-البرمجة علي ++C (الأفضل)-VisualBasic أو الـ #C أو VisualBasic.NET.
    ب-دراسة الـ DirectX أو الـ OpenGl بإحتراف لأهميتهم كعامل ربط بين الكود البرمجي والـ 3D Model أي النماذج ثلاثية الأبعاد.
    ج-دراسة الألكترونيات و الاسيمبلي Assimbly.
    ء-دراسة الفيزباء والرياضيات الثلاثية الأبعاد :تفاضل-تكمل-هندسة فراغية...إلخ.
    هـ -معرفة ان المحركات في تصميم الألعاب نوعين (رسومي-فيزيائي).
    -المحرك الرسومي: هو محرك تصميم Designing و رسم و التحكم في المجريات وعمليات التصييرRendering و العمليات الزسومية البسيطة وهذا ما نستطيع تصميمة.
    -المحرك الفيزيائي: هو المحرك المستحيل ؟! لأنه المسؤل عن الحركة والمادة والجزيئات والعمليلت المتسلسلة Chain Reactions والخوارزميات, وهذا المحرك غالبا أقصد دائماً نحضره جاهز..لماذا؟ لأن تصميمه يحتاج الي 20 سنة ومن منا لديه هذا الكم من وقت الفراغ؟
    * الخوارزميات: هي عمليات منطقية وهي تمثل الطريق الذي يسير عليه القصة ودورها يائتي في كونها عامل تخيير لك بأن تنهي كل مرحلة بالشكل الذي يناسبك وقرباً إنشاء الله سأحضر رسم يبسط العملية لكم أكثر.
    و-الذكاء الأصطناعي AI:هو ما لم اصل غليه بعد لأتمكن من شرحه ولكنه العامل المحدد علي ما اظن لمستوي صعوبة اللعبة.
    *مهمة الدايركت أس DirectXاو الأوبن جي إل OpenGl في المحرك هي الأمتداد الذي يمكننا أثناء التصميم من التعديل في اللعبة من خلال التصميم الرسومي والكود البرمجي وربطهم لتصميم اللعبة وهي المكتبات الأشهر والأضمن والأكثر إنتشاراً في التعمل مع تصميم الألعاب.
    > اسف للأطالة ..., وأية خدمة أو معلومة لدي لن أبخل عليكم بها إنشاء الله ولا أي مسلم.
    و أخر قولي عن رسولنا الكريم -صلى الله عليه وسلم- "أطلوبوا العلم ولو في الصين " و" أطلبوا العلم من المهد الى اللحد" , و" إثنان لا يشبعان طـالـب عــلــم وطالب مال" -صدق رسول الله صلي الله عليه وسلم.

  5. #5
    التسجيل
    28-04-2009
    الدولة
    بلاد الشام
    المشاركات
    720

    رد: مقدمة عن تصميم الألعاب 3D ثلاثية الأبعاد

    بداية موضوع جميل ومتميز
    - الطريق لبرمجة الالعاب الاحترافية طريقين لا ثالث لهما:
    directx xxxxx opengl
    والطريقان يوصلانك الى نهاية متشابهه تقريبا.

    كيف اتعلمهما...
    أعتقد هناك محركات أفضل من مكتبة الدايركت أو الأوبن جل
    مثل الأوجر والxna والدارك بيسك
    تعبته بتعلم السي هل سيذهب هباء منثورا والا تسخره في شيٍ ممتع واحترافي كبرمجة الالعاب.
    اكيد انك تريد برمجة الالعاب (الاحترافية),,, طيب كيف؟
    عن طريق برنامج rpg maker او game maker !!!! مع احترامي الكامل والكبير لمحبي هالبرامج ولكن ليست لمن يريد الاحتراف. اما من يريد الاحتراف فالطريق ليس صعب
    لا اريد كثرة الكلام ..
    صراحة ... في سوء فهم بين النووب أو الداخلين حديثا على المجال وبين المتمرسين
    بالمنتدى النووب يعتقدون أن الجيم ميكر مثلا ليس صناعة ألعاب حقيقية بل لعبة أطفال !!
    الجيم ميكر والأربيجي ممتازين وحقيقيين وليسا للأطفال ويحتاجان لدراسة وتمرس
    لكنهما بالطبع ليسا طريقا للإحتراف بالمجال , لذلك سأتخلى عن الجيم ميكر في وقت قريب
    وأتفرغ للسي ++ والأوجر
    - ان المحركات هي أخر خطوات تعلم برمجة الألعاب .
    2- ليس الـ DirectX او كما نسميه الـ X المكتبة الوحيدة أو الأشهر أو الأفضل أو حتي الأسهل في برمجة الألعاب ، ولكن
    مكتبة الـ OpenGl وملحقاتها من أعظم مكتبات تصميم الـ 3D بصفة عامة.
    3- لأكون مصمم العاب من الجيل الحلي يلزمني تعلم:
    أ-البرمجة علي ++C (الأفضل)-VisualBasic أو الـ #C أو VisualBasic.NET.
    ب-دراسة الـ DirectX أو الـ OpenGl بإحتراف لأهميتهم كعامل ربط بين الكود البرمجي والـ 3D Model أي النماذج ثلاثية الأبعاد.
    ج-دراسة الألكترونيات و الاسيمبلي Assimbly.
    ء-دراسة الفيزباء والرياضيات الثلاثية الأبعاد :تفاضل-تكمل-هندسة فراغية...إلخ.
    هـ -معرفة ان المحركات في تصميم الألعاب نوعين (رسومي-فيزيائي).
    -المحرك الرسومي: هو محرك تصميم Designing و رسم و التحكم في المجريات وعمليات التصييرRendering و العمليات الزسومية البسيطة وهذا ما نستطيع تصميمة.
    -المحرك الفيزيائي: هو المحرك المستحيل ؟! لأنه المسؤل عن الحركة والمادة والجزيئات والعمليلت المتسلسلة Chain Reactions والخوارزميات, وهذا المحرك غالبا أقصد دائماً نحضره جاهز..لماذا؟ لأن تصميمه يحتاج الي 20 سنة ومن منا لديه هذا الكم من وقت الفراغ؟
    * الخوارزميات: هي عمليات منطقية وهي تمثل الطريق الذي يسير عليه القصة ودورها يائتي في كونها عامل تخيير لك بأن تنهي كل مرحلة بالشكل الذي يناسبك وقرباً إنشاء الله سأحضر رسم يبسط العملية لكم أكثر.
    و-الذكاء الأصطناعي AI:هو ما لم اصل غليه بعد لأتمكن من شرحه ولكنه العامل المحدد علي ما اظن لمستوي صعوبة اللعبة.
    *مهمة الدايركت أس DirectXاو الأوبن جي إل OpenGl في المحرك هي الأمتداد الذي يمكننا أثناء التصميم من التعديل في اللعبة من خلال التصميم الرسومي والكود البرمجي وربطهم لتصميم اللعبة وهي المكتبات الأشهر والأضمن والأكثر إنتشاراً في التعمل مع تصميم الألعاب.
    نقاط مهمة جدا وأساسية ...
    شكرا لك عالموضوع وجزاك الله خير ...



  6. #6
    التسجيل
    06-08-2009
    الدولة
    الجزائر
    المشاركات
    59

    رد: مقدمة عن تصميم الألعاب 3D ثلاثية الأبعاد

    بداية موضوع جميل ومتميز
    شكرا لك يا أخي
    أعتقد هناك محركات أفضل من مكتبة الدايركت أو الأوبن جل
    مثل الأوجر والxna والدارك بيسك
    أعلم عن هذه البرامج أردت فقط ان أوضح مالذي يسخدمه المحترفون
    وقد بدأت بتعلم ال xna
    و أفكر بالبدأ في الأوجر
    صراحة ... في سوء فهم بين النووب أو الداخلين حديثا على المجال وبين المتمرسين
    بالمنتدى النووب يعتقدون أن الجيم ميكر مثلا ليس صناعة ألعاب حقيقية بل لعبة أطفال !!
    الجيم ميكر والأربيجي ممتازين وحقيقيين وليسا للأطفال ويحتاجان لدراسة وتمرس
    لكنهما بالطبع ليسا طريقا للإحتراف بالمجال , لذلك سأتخلى عن الجيم ميكر في وقت قريب
    وأتفرغ للسي ++ والأوجر
    انا لم أقل أنهما للأطفال وأعلم أنهما يحتاجان إلى دراسة
    فلقد عملت عليهما كثيرا في الماضي
    ولكن يأتي دوما الوقت للتطور
    شكرا لك على قرائة الموضوع وأرجو انه اتى عليك بفائدة




  7. #7
    التسجيل
    27-04-2009
    الدولة
    المدينة المنورة
    المشاركات
    89

    رد: مقدمة عن تصميم الألعاب 3D ثلاثية الأبعاد

    اخوي شرحك أقسم بالله انه مو مفيد للمبتدأين
    ياخي بسط الشرح انت بس عطيتنا امثلة وماشرحتها
    وإذا شرحت تشرح داله مال أمها داعي وعليها مليون كلمة
    انا نفسي الاقي شرح يوصل الفكره بسرعة

  8. #8
    التسجيل
    16-06-2008
    المشاركات
    132

    رد: مقدمة عن تصميم الألعاب 3D ثلاثية الأبعاد

    أشكرك أخي أولاً ^^لكن موضوعك منقول ^^"
    وهو للعلم موضوع متشدد نوعاً ما تجاه محركات الألعاب وتحريم أشياء مثل الرسم بشكل عام وهو ما يخالف منتدانا ، حيث أن هذه الأشياء يختلف عليها أكبر العلماء ، ولا يحق لأحد أن يجزم بحرمانيتها أو غيره ^^..

    واسمحلي أن أرد على شئ فقط إن كان لي الحق ^^
    أعتقد هناك محركات أفضل من مكتبة الدايركت أو الأوبن جل
    مثل الأوجر والxna والدارك بيسك
    هذا الكلام خاطئ أخي ^^ الـDirectX والـOpenGL هما أساس صناعة الألعاب ، وكل المحركات الأخرى منبثقة منها ^^ .. لكن الفرق أن الـDirectX والـOpenGL ((خام)) مثلاً لو أردت إدخال موديل فعليك كتابة Loader يقرأ الملف سطر سطر ويترجمه،،
    محركات مثل أوغر وغيره تكون لديها أدوات توفر عليك الكثير ^^" مثل حفظ معادلات الـAlpha blend أو غيره ،،

    في الأخير لم أقصد أن أهاجم موضوعك أو أي شئ أو أن أتعدى عليه ^^،، ولك كل الإحترام.
    التعديل الأخير تم بواسطة PrinceOfSorrow ; 31-08-2009 الساعة 07:24 AM

  9. #9
    التسجيل
    24-01-2006
    الدولة
    QATAR
    المشاركات
    4,098

    secure رد: مقدمة عن تصميم الألعاب 3D ثلاثية الأبعاد


    تم أغلاق الموضوع

    منقول دون ذكر مصدر :








    يا أخوان الله يرضى عليكم عند نقل الموضوع يرجى ذكر المصدر
    ومع العلم نحن لانرحب بالمواضيع المنقولة ألا من نفس أصحابها
    وذلك لمصداقية الدروس وتحمل صاحبها مسؤولية المساعدة للذين يردون على الموضوع.

    وشكرا


المواضيع المتشابهه

  1. طلب تصميم صورة ثلاثية الأبعاد!!!!
    بواسطة : ولد الوكـرة , في منتدى التصميم الثلاثي الأبعاد 3D العام
    مشاركات: 1
    آخر مشاركة: 06-11-2005, 07:21 PM
  2. طلب تصميم صورة ثلاثية الأبعاد!!!!
    بواسطة : ولد الوكـرة , في التصميم و الفن
    مشاركات: 1
    آخر مشاركة: 04-11-2005, 10:50 PM
  3. إلى كل شخص مستعد لتعلم برمجة الألعاب ثلاثية الأبعاد و صبور يدخل
    بواسطة : مبتدئ rpg maker , في منتدى صناعة الألعاب
    مشاركات: 1
    آخر مشاركة: 20-10-2005, 12:57 AM
  4. تصميم لعبة ثلاثية الأبعاد
    بواسطة : Ralf , في منتدى صناعة الألعاب
    مشاركات: 51
    آخر مشاركة: 16-02-2003, 11:41 PM
  5. تصميم لعبة ثلاثية الأبعاد
    بواسطة : revaldo10 , في منتدى تعريب الألعاب
    مشاركات: 1
    آخر مشاركة: 17-08-2002, 04:31 PM

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •