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

سؤال حول برمجة الالعاب في اللينكس

بدأه aziz nor في 11 مارس 2009 · 4 رد · 1,129 مشاهدة · في OpenGL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي سؤال وهو كما ظاهر من العنوان

حول برمجة الالعاب و 3 دي في اللينكس

لان لحظت ان اغلب الشروح هي للوندوز

وانا اعلم ان مكتبة

openGL

هي

للوندوز واللينكس

فهل كفائة المكتبة تختلف من الوندوز عن اللينكس

وادا كان فيه كتب للبرمجة الالعاب و 3 دي في اللينكس فارجو الافادة بها

وقد شاهدت موضوع لااحد الاخوة فيه مجموعة من الكتب

لكن الروابط انتهت مدة صلاحيتها علي مواقع الرفع

سؤال اخر

انا اعمل علي اللينكس - اوبينتو- وقد حملت بعض الالعاب

البسيطة مثل

tux

وغيرها لكن لاحظت انها بطيئة جدا جدا وثقيلة

لكن عندما قدمت بالغاء خاصية

openGL

من قائمة الخصائص

عادت اللعبة عادي جدا

فارجو تفسير لهدا الامر

وسؤال اخير

اريد ان اسال هل يمكن ربط مكتبات ال

GUI

مثل

qt , gtk+ .....

ودمجها مع مكتبة ال

openGL

ودالك من اجل عمل القوائم وازار التحكم طبعا

وشكرا

اللهم صلي علي المصطفي محمد

صلي الله عليه وسلم

#2

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

لم أعمل اي تطبيق على Linux ولكن من القراءات هنا وهناك , أستطيع أن أقول :

- في Linux , في الغالب المكتبة الافتراضية المستخدمة هي MESA , وهي مجرد Implementation آخر لمكتبة OpenGL ( يعتمد على software ) في الغالب .. ولا يستفيد من كامل قدرات كرت الشاشة لديك .. ( تقريبا )

هناك بعض كروت الشاشة التي تعطي امكانيات تحميل drivers , لنظام Linux , وبالتالي تحسين قدرات opengl , لتستخدمها بدلا من MESA .

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

اقتباس
وغيرها لكن لاحظت انها بطيئة جدا جدا وثقيلة

لكن عندما قدمت بالغاء خاصية

openGL

من قائمة الخصائص

عادت اللعبة عادي جدا

فارجو تفسير لهدا الامر

دعني أخمّن :) :

اذا اعتمدت على opengl وكنت تعمل بنظام software ( لاتستفيد بشكل كامل من قدرات كرت الشاشة) .. فأكيد أن اللعبة ستكون بطيئة .. لان Opengl تقوم بالعديد من الامور المعقدة.. ( لانها مصمّم’ لتلبّي كافة متطلبات الالعاب ولرسوميات ) ..

ولكن لو اعتمدت على مكتبات اخرى مثل qt , فان هذه المكتبة .. تقوم بأمور بسيطة .. ثنائية الابعاد .. فتكون أسرع .

لذلك حسب اللعبة ... فاذا كانت لعبة ثنائية الابعاد وبسيطة .. فتكون Opengl خيار غير مناسب .. اذا كنت تعمل بنظام software , اما اذا كانت اللعبة ثلاثية الابعاد أو ثنائية الابعاد ومعقدة (رسوميا) .. فان ليس لديك خيارا أفضل من OpenGL ..

هذا مجرد توقع عام .. ولست متأكد منه .

اقتباس
اريد ان اسال هل يمكن ربط مكتبات ال

GUI

مثل

qt , gtk+ .....

ودمجها مع مكتبة ال

openGL

ودالك من اجل عمل القوائم وازار التحكم طبعا

وشكرا

نعم يمكن طبعا ..

في الغالب نقوم بالدمج بين OpenGL وهذه المكتبات.. من اجل تطوير برامج شبيهة ببرامج التصميم مثل 3d max .. وبرامج المحاكاة ..

أو عرض اللعبة مثلا في أحد أدوات التحكم في منتصف النافذة مثلا .. وبقية النافذة تحوي على أزرار ... بدل من ان تكون العبة في كامل النافذة ..

أما الكتب .. فلا أعرف كتب محددة ..

لكن جيع كتب OpenGL التي قرأتها .. يمكن تطبيقها على أي نظام .. لاننا نتعامل مع مكتبة مستقلة اسمها glut تقوم بانشاء النوافذ ..

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#3

السلام عليكم

بارك الله فيك ياخي الشمري

لكن بقت نقطة غامضة قليلا

وهي حول التعامل مع

software

او التعامل مع غيره

software

يعني هل تقصد ان مكتبة

opengl

تتعامل مع العتاد مباشرة

وان المكتبات الاخري مثل

MESA

تتعامل مع روتينات وداول جاهزة تتكفل بالمستوي المنخفظ يعني العتاد

ارجوا ان يكون السؤال واضح

وشكرا شكرا

اللهم صلي علي المصطفي محمد

صلي الله عليه وسلم

#5
aziz nor كتب:
السلام عليكم

انا اعمل علي اللينكس - اوبينتو- وقد حملت بعض الالعاب

البسيطة مثل

tux

وغيرها لكن لاحظت انها بطيئة جدا جدا وثقيلة

لكن عندما قدمت بالغاء خاصية

openGL

من قائمة الخصائص

عادت اللعبة عادي جدا

فارجو تفسير لهدا الامر

لقد واجهت مسألة مشابهه، تماماً عكس ما كنت أتوقع، عندما أشغل OpenGL تصبح أبسط الألعاب بطيئة للغاية، وعندما ألغيه تصبح سريعة بشكل مقبول.

إكتشفت بعد عدة محاولات ورحلة تنقيب في الإنترنت إن ميزة compiz-fusion او berl هي السبب، حيث إنها تستولي على OpenGL عند تشغيلها مما يجعل أي تطبيق آخر يستعمل OpenGL بطيئاً للغاية، والسبب إن مكتبة compiz-fusion لا تزال في مرحلة التطوير وحسب علمي لم يتم حل تلك المشكلة حتى هذه اللحظة.

إذن بإفتراض إنك تستخدم ميزة compiz فكل ما عليك ان تقوم به تعطيل تلك الميزة، وستحصل على الأداء المفترض الحصول عليه من تطبيقات OpenGL، ولكن بالطبع ستخسر روعة مؤثرات compiz، معادلة صعبة بالتأكيد ;)

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