الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لدى سؤال هام جدا حول كل من Orge و Irrlicht و Darkbesic

بدأه (HARD) في 13 يونيو 2008 · 8 رد · 1,801 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

اولا اشكر من ساعدنى فى هذا القسم او غيره من تقديم لى المساعدات والرد على استفساراتى :)

الموضوع وبكل بساطة اخوانى انا هذه الفترة قاعد فاضى ههههه اجازة بقى :)

المهم انا كنت بدأت بالفعل فى محرك Irrlicht وهو كان محرك رائع جدا ولكن توقفت عنه لفترة :)

ومن ثم بدأت فى العمل مع الـ dark besic وجدتها لغة رائعة وسهلة جدا جدا :)

وقد بدأت مع الدايركت اكس الفترة الماضية ولكن على السى شارب ، لان الـ xna لا تريد العمل عندى لانى لا املك كرت شاشة خارجى :) المهم وجدتها ثقيلة بعض الشئ وبطيئة فى البرمجة

ولكن بعد البحث وجدت المحرك الرائع والسريع وهو ogre ورأيت الكثيرين يمحده فقلت اجربه ليش لا ، ولكن الى الان لم اجربه الصارحة يعنى لم ابدء فى تعلمية

ما دام قطفنا من كل بستان زهرة :)

سؤالى هو

اى من المحركات التالية هو الاقوى وعنده القدرة على استعاب mesh عالية بمعنى من لديه القدرة على وضع مجسمات فيه مش low ploy يعنى متوسطة مثلا

انا بحثت لقيت ان العيب الوحيد فقط فى الدراك بيسك هو انها لا تستطيع استعاب اجسام عالية الدقة يعنى بس low

اما الباقى فما اعرف لذلك قلت استشريكم

هل المحرك Irrlicht لديه القدرة على استعاب مجسمات متوسطة الدقة مثل مجسمات crysis او اقل منها بقليل مثلا ؟؟

هل المحرك ogre لديه اقدرة على استعاب مجسمات متوسطة الدقة ويعمل بسرعة جيدة ؟؟

انا كنت سمعت ان المحرك ogre تم صنع بيه العديد من الالعاب التجارية ، لذلك كنت اريد ان اتعلمه :)

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

لانى ابحث عن الجرافيك الجيد ، انا لا يهمنى التعب ولكن يهمنى نتيجة التعب فقط......

ياريت يا جماعة الخير تفيدونى ومشكوووور مقدما على كل من قام بزيارة الموضوع:)

#2

DarkBasic يختلف عن Irrlicht و Ogre3D بكونه تطبيق تجاري وليس مجاني ولا مفتوح المصدر, كذلك فإن DarkBasic ليس محركاً برمجياً بمعنى الكلمة, ولكنه أشبه ببرنامج لصنع الألعاب, لذلك فإن قدراته محدودة في بعض المجالات ولا يمكن توسيعه ولا تطويره (وانا اتكلم عن الإصدارة الإعتيادية وليس الإحترافية هنا), مقارنة بالمحركات البرمجية البحتة التي يمكن توسيعها وتطويرها حسب الحاجة بأي طريقة تراها مناسبة.

بالنسبة لحجم الـ mesh المسموح إستخدامه تحديداً فليس هنالك حد معين في Irrlicht ولا في Ogre3D, تستطيع إستخدام mesh بمليون مضلع بدون مشكلة, المحدودية تكمن في عتاد الكومبيوتر, وهي عادةً مرتبطة بسرعة الرسم وليست عدد مضلعات محدد, حيث إنك إذا رسمت عدد مضلعات كبير جداً قد ينخفض الأداء وذلك ليس شيئاً جيداً بالتأكيد.

أرى إنك تعتقد إن زيادة عدد المضلعات المستخدمة في الـ mesh هي ما يجعل الألعاب اكثر واقعية وجمالية, وذلك ليس صحيحاً, هنالك عوامل كثيرة جداً بعضها أكثر تأثيراً من عدد المضلعات, مثلاً الإكساءات المستخدمة ودقتها, فذلك لوحده يسبب فرقاً شاسع في الشكل, خذ mesh بعدد 100000 مضلع, وآخر بـ 500000 مضلع, هنالك فرصة كبيرة أن لا تلاحظ العين البشرية أي فرق بين الإثنين..

كذلك هنالك تقنيات تستطيع أن تجعل الـ mesh تبدو وكأنها تملك ملايين المضلعات بينما هي فقط عدة آلاف أو حتى مئات, وذلك ما يستخدم في ألعاب اليوم مثل Crysis, تسمى هذه التقنية بالـ normal mapping وتعتمد على تطبيق معادلات الضوء على إكساء مولد بإستخدام برامج خاص بدلاً من تطبيق تلك المعادلات على المضلعات (أو النقاط vertices بشكل ادق), Irrlicht و Ogre3D يقدمون دعم لهذه التقنية بشكل جيد جداً.

إنظر فرق الدقة الذي تقدمهه, في الحالتين عدد المضلعات هو نفسه, مع إضافة الإكساءات سيبدو الشكل الناتج مفصلاً جداً من دون إستخدام مضلع إضافي واحد:

post-115785-1213319778_thumb.jpg

للتوضيح أكثر, إنظر لهذه الصورة, الصورتان العليا تمثل الشكل الأصلي للكائن بعدد مضلعات كبير جداً (بالملايين) والذي يتم عادة بناءه بإستخدام برامج النمذجة مثل 3D Studio Max, عندما يستخدم في اللعبة, يتم إستخدام شكل يمتلك عدد اقل كثيراً من المضلعات (مبين في الصورة اليمنى السفلى), بتطبيق الـ normal mapping يتم الحصول على تفاصيل دقيقة جداً كما مبين في الصورة السفلى اليسرى بعدد مضلعات قليل جداً نسبةً للشكل الأساسي, لا يمكن تقريباً تمييز الفرق بين الشكل العالي الدقة والقليل الدقة.

تعتمد هذه التقنية على خزن قيم تمثل متجهات الـ normal للسطح بدل الألوان في الإكساء, ثم تطبيق معادلة الضوء لكل pixel يتم رسمه بإستخدام الـ normal التابع له, إذن الحيلة بأكملها تكمن في الضوء.

تقنية أخرى يمكن من خلالها توليد المضلعات اثناء الرسم بإستخدام إكساءات خاصة تسمى بالـ displacement mapping, هذه تعتمد على جعل الشكل المرسوم يمتلك عدد مضلعات اكثر:

post-115785-1213319833_thumb.jpg

هنالك عدد من التقنيات الأخرى المشابه, والتي تستخدم لتحسين الشكل من دون التأثير على الأداء كثيراً.

بالنسبة لسرعة رسم الأشكال في Irrlicht و Ogre3D, فهي بالتحديد السرعة التي تستطيع بطاقة العرض لديك الرسم, وليس ذلك فقط ولكن يستخدم المحركين تقنيات لتحسين السرعة قدر الإمكان, مثلاً عن طريق تجنب رسم المضلعات الغير مرئية مثلاً (تسمى هذه بالـ backface culling) أو عدم رسم الأشكال إطلاقاً إذا كانت واقعه خارج مجال الرؤية (تسمى هذه بالـ Frustum culling), أو تقسيم العالم إلى أجزاء ورسم الأجزاء التي يمكن رؤيتها فقط (تسمى عملية التقسيم بالـ space partitioning) أو تقليل عدد مضلعات الجسم كلما إبتعد عن الكاميرا (تسمى هذه بالـ Mesh level of detail) وتقنيات كثيرة اخرى...

تم تعديل هذه المشاركة بواسطة SandHawk في 13 يونيو 2008 في 08:27

#3

الصراحة يا غالى اذهلتنى بردك الرائع هذا :)

ما شاء الله عليك يا غالى انا فعلا استفيدتاكثر مما كنت اريد :)

انا اصلا اعتقد ان تصميم الالعاب الكبيرة هذه لا يتم برمجيا ، بل هم يصنعون المحركات وخلاص وبعدين يتم تصميم اللعبة على المحرك

وكل التطوير لديهم بالمحركات مثل الطريقة المتبعة فى شركة EA

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

انا امس جربت محرك ogre والصراحة اذهلنى بسرعته الخارقة ولااظهر لى انه اقوى من غيره لسبب ، انا قمت بوضع 950 مجسم ( انسان الالى) وكان معها الظل حقها وكامل التفاصيل ، طبعا 950 مجسم ليس بالشئ قليل عندما اضعهم فى منطقة معينة فهذا يستهلك من قوة الكمبيوتر بشدة ، لا حظت انه فى بطئ ولكن قللت عدد المجسمات فى المنطقة الى 400 مجسم تقريبا وجدت التطبيق اسرع وافضل وانعم وايضا 400 مجسم ليسوا بالشئ القليل مع العلم انهم يتحركوا ولديهم ظل وتفاصيل جيده

لكن انا لما جربت المحرك IRRELICHT للاسف لم احصل ابدا على هذه النتيجة بل رأيت بطئ شديد جدا فى وضع مثل هذا العدد من المجسمات بذات بعد ان وضعت الظل لهم :)

#4

لا أظن أن المحركين يستعملان نفس تقنية رسم الظل أظن أن Irrlicht يعتمد على العتاد أكثر في رسم الظل

أرجو من الأخ سلوان أن يدقق لنا المعلومة :)

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

على العموم قرأت موضوع أعجبني جدا قد يكون مفيد في هذا الجانب

http://www.agdn-online.com/papers/intelactors.htm

بالتوفيق للجميع

#5

مشكور لك يا غلى على تعقيبك وراح اقرا المقال ولى رجعه :) ان شاء الله

#6

(DreamNet: انا احاول أن اتجنب الكلام عن موضوع الظلال لأنه اكبر من قدرتي على الكتابة... :D كما إني لا اتذكر كل التفاصيل ولكن سأحاول كتابة ما اعرف واتمنى ان لا ارتكب خطئاً في تقديم المعلومات. )

بالنسبة للظل, فإن Irrlicht يستخدم تقنية الـ Stencil فقط (أو ما يعرف بالـ Shadow Volumes), ويتيح القليل من التحكم, لا يوجد تحكم مباشر بكيفية دمج الظل مع المشهد.

أما Ogre فهو متمكن جداً من هذه الناحية, يأتي مجهزاً بعدد من طرق الظل بقدرات ممتازة وبأداء عالي, يقدم طريقة الـ Shadow Volumes بتحكم جيد بالخصائص, النوع الثاني من الظل هو Texture-based Shadows والذي يقدم له Ogre دعماً ممتازاً أيضاً (حالياً ألاحظ إستخدامه في الكثير من الإلعاب مقابل إنخفاض في إستخدام Shadow Volumes).

النوعان الأساسيان من الظل هما الـ Shadow Volumes والـ Texture-based Shadows, وهنالك أنواع اخرى أقل إستخداماً.

بالنسبة لمزايا كل منهم فإن Shadow Volumes يعتمد بشكل مباشر على عدد المضلعات في الأجسام التي يستخدمها لإسقاط الظل الحجمي, ويقدم ظلاً بحواف حادة وهنالك عدد من الخوارزميات التي يمكن إستخدامها لتنعيم حواف الظل ولكن جميعها تتطلب جزءاً كبيراً من الأداء على العتاد الموجود حالياً, أما ميزته الأساسية فهي إمكانية عمل ظل على نفس الجسم self-shadowing بسهولة (هل يمكن ترجمتها ظل ذاتي؟).

اما Texture-based Shadows فإنها لا تعتمد على عدد المضلعات, ولكن الظلال الناتجة منها تبدو Pixelated, يعتمد ذلك على حجم الإكساء المستخدم لتوليد الظل والمساحة التي يغطيها الإكساء, يمكن تنعيم حواف هذه الطريقة بشكل أسهل من الـ Shadow Volumes, أما الـ self-shadowing فهو يمثل مشكلة حقيقية هنا, يمكن القيام به ولكن بإستخدام عتاد عالي المستوى قد لا يكون موجوداً لدى الكثير من المستخدمين.

عموماً يمكن القول إن Shadow Volumes أبطئ من Texture-based Shadows, كإستنتاج عام.

للأخ (HARD): جرب تغيير نوع الظل في Ogre ولاحظ الفروقات, على الأكثر فإن إستخدام ظلال الـ texture اسرع بشكل ملحوظ من الـ volumes.

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

تم تعديل هذه المشاركة بواسطة SandHawk في 20 يونيو 2008 في 05:52

#7
اقتباس
للأخ (HARD): جرب تغيير نوع الظل في Ogre ولاحظ الفروقات, على الأكثر فإن إستخدام ظلال الـ texture اسرع بشكل ملحوظ من الـ volumes.

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

الصراحة كلامك فعلا صحيح ميه بالميه

فعندما يتم تغير الظل من نعولاخر اجد فروقات ولكن هذا ايضا يؤثر على طريقة العرض والوضوح ، يقلل منها بعض الشئ ولكن بالطبع اسرع وافضل من irr ، انا حاولت ان اتوجه الى المحرك morge ولكن اواجه مشاكل ليس لها نهاية ومنها انى الى الان لا استطيع البدء مع المحرك مع انى قمت بعمل كل الخطوات اللازمة ونزلت كل الادوات والبرامج المطلوبة ولكن دووون جوده :( ، شكلى راح اتوجه الى السى بلس بلس :)

#8
اقتباس
(DreamNet: انا احاول أن اتجنب الكلام عن موضوع الظلال لأنه اكبر من قدرتي على الكتابة... biggrin.gif كما إني لا اتذكر كل التفاصيل ولكن سأحاول كتابة ما اعرف واتمنى ان لا ارتكب خطئاً في تقديم المعلومات. )

:D كنت أطمع بكتابة "جريدة " حول الموضوع لكن لا بأس حتى هذا القدر يمكن دمجه مع المقالات التي أتمنى أن تكون انطلاقتها مع موقع مجتمع مطوري الألعاب :)

اقتباس
نا حاولت ان اتوجه الى المحرك morge ولكن اواجه مشاكل ليس لها نهاية ومنها انى الى الان لا استطيع البدء مع المحرك مع انى قمت بعمل كل الخطوات اللازمة ونزلت كل الادوات والبرامج المطلوبة ولكن دووون جوده sad.gif ، شكلى راح اتوجه الى السى بلس بلس regular_smile.gif

أقوم بالتفكير حاليا في وضع سلسلة مخصصة فقط للبدأ مع Mogre وقد مررت بنفس مراحلك أخي وان شاء الله أوفق في وضع المعالم الصحيحة للبدء مع Mogre فهي بالفعل تتطلب مراحل كثيرة لكن يمكننا اختزالها بعض الشئ :)

السلسلة الأولى لن يكون فيها إلا طريقة التركيب الصحيحة

بالتوفيق ان شاء الله

#9
اقتباس
أقوم بالتفكير حاليا في وضع سلسلة مخصصة فقط للبدأ مع Mogre وقد مررت بنفس مراحلك أخي وان شاء الله أوفق في وضع المعالم الصحيحة للبدء مع Mogre فهي بالفعل تتطلب مراحل كثيرة لكن يمكننا اختزالها بعض الشئ

السلسلة الأولى لن يكون فيها إلا طريقة التركيب الصحيحة

بالتوفيق ان شاء الله

فعلا اذا فعلت هذا الشئ يا غالى تكون ساعدتنى فى الكثير جدا ولن انسى لك هذا الجميل عليا

لانى الصراحة شبت ومن كثر المحاولات انزل فى ملفات واشيل ملفات وانسخ واشيل واحط والله شيبت

انتظر على الاقل مرحلة التثبيت باسرع وقت ممكن ياريت يا غالى لا تنسانى

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…