الشبكة العربية لمطوري الألعاب

خبير مدير وسام البهنسي مشاركة 1

السلام عليكم،
 
يسر الشبكة العربية لمطوري الألعاب أن تعلن عن طرح مقالة جديدة بعنوان:  أنا و OpenGL !
 

http://www.agdn-online.com/papers/me_opengl.htm
 
هذه المقالة قام السيد ياسر أبو بكر عبد الحليم من فريق الشبكة العربية لمطوري الألعاب بترجمتها وتنسيقها ونشرها بعد الحصول على إذن صاحب المقالة الأصلية، السيد كريس هيكر... لذلك نشكر أولاً الجهود الكبيرة التي طرحت في إنجاز هذا العمل، الذي نأمل أن يستفيد منه الجميع...
 
لقد بذل السيد ياسر جهداً كبيراً في الحفاظ على الدقة العلمية والأسلوب المميز للكاتب الأصلي أثناء الترجمة للغة العربية، وهي عملية صعبة خاصة عندما نجد أن المقالة مليئة بالمصطلحات الجديدة التي يجب أن تترجم بشكل مفهوم. لذلك، شكراً مرة أخرى على هذا العمل الممتاز...
 
ندعو الجميع لقراءة هذه المقالة المفيدة والاستمتاع بها، ونحن بانتظار أن تقوموا بطرح آرائكم وتعليقاتكم على المقالة في هذا الموضوع..
 
مع تحياتنا!

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

خبير  أحمد عزالدين مشاركة 2

السلام عليكم

شكرا للشبكة العربية علي مثل هذه المقالات الممتعة والمفيدة حقا 😄

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

ويبدوا انني ازدت يقينا بعد قراءتي لهذه المقالة مع وجود اسباب اخري منها ان تعرف ما هي المكتبة المستخدمة من قبل معظم معظم الالعاب
وبالتالي المجربة من قبل اكبر عدد من المبرمجين المحترفين والذين بالتأكيد لديهم اسباب قوية تجعلهم يختارون هذه المكتبة عن غيرها

نقطة اخري ان اختياري يعتمد ليس فقط علي وجود مكتبة الرسوميات وحدها بلي علي وجود المكتبات المكلمة لها بجانب انني حتي لو كنت سأستخدم مكتبة ليست Cross-Platform لكني ماذا سأستفيد من ذلك ما دام معظم سوق صناعة الالعاب لا يهدف الا لنظام تشغيل واحد في الاغلب باستثناء اجهزة ال consoles

ما اريد قوله انه في النهاية اننا نختار ما نرتاح بالتعامل معه وفقا لخبرتنا السابقة وما تعلمناه وما سنحتاج لنتعلمه في الايام القادمة واعتقد ان الهدف الرئيسي للمبتدئين (امثالي) علي الاقل هو ان يتعلم المفاهيم وهي لن تختلف بالتأكيد من مكتبة لاخري

شكرا لكم وفي انتظار المزيد من مثل هذه المقالات الرائعة 😄

أحمد عزالدين
طالب دراسات عليا
جامعة كالجري

خبير  أحمد عبد الغني مشاركة 3

وفي 28/رمضان/1429 09:21 ص، ظهر شبح ابتسامة على وجه ahmed ezz وهو يقول:

ان الهدف الرئيسي للمبتدئين (امثالي) علي الاقل هو ان يتعلم المفاهيم وهي لن تختلف بالتأكيد من مكتبة لاخري

أؤيدك وبشدة
 


أما في 28/رمضان/1429 09:21 ص، فقد تنهد ahmed ezz بارتياح وهو يرد:

ماذا سأستفيد من ذلك ما دام معظم سوق صناعة الالعاب لا يهدف الا لنظام تشغيل واحد في الاغلب باستثناء اجهزة ال consoles

أيضا نقطة صالحة. نادراً ما أسمع عن شخص يحب ألعاب الكمبيوتر ويستخدم لينوكس ليلعبها مثلا

اللهم انصر أهلنا في فلسطين وآجرنا أن نكون عوناً لهم

موهوب  عبدالله الشمّري مشاركة 4

وعليكم السلام ,
 
شكرا لكم ولصاحب المقالة ومترجمها ,, أسلوب رائع في الترجمة البعيدة عن الترجمة الحرفية .
 
 
المقالة أبكتني حقيقة .. وأعادت علي ذلك السؤال المحزن ... ما دور SGI .. ؟
 
- المقالة تصوّر بأن OpenGL خسرت الحرب .
 
- واضح من المقالة الاعتماد الكبير على كلمة " لو " .. التي لم تتحقق من سنوات .
 
لا أخفيكم أني أشعر برغبة شديدة بالبكاء (هكذا  😭   ولكن بدون دموع  ) .. على حال OpenGL ..
وأشعر برغبة في الانتقال الى dx .. ولكن استخدامي للمكتبة هو لاهداف ثلاثة :
 
1- التعلّم ( كما ذكر الاخ أحمد .. فأعتقد هي أفضل طريقة لتعلّم برمجة الجرافكس ..فكل
جامعات العالم وكتب العالم ودكاترة العالم .. يستخدمون OpenGL ).
 
2- تطوير ألعاب ( بغض النظر عن الأداة ) .
 
3- OpenGL هي مجرد جسر .. للانتقال الى xxx API القادمة .. والتي قد تكون dx 12 .
 
لكن يجب أن نظهر الحقيقة .. وألا تكون المقالة أحد اهدافها الدفع الى dx ..
 
1- لا يوجد فرق بين OpenGL و DX ( ظاهريا على الأقل ) .
2- فكل ما تستطيع عمله بالمكتبة (س ) تعمله بالمكتبة ( ص ) .
3- العيب الوحيد .. كروت الشاشة .. وهي ليست مشكلة كبيرة الان ..
ولكن أخشى أن تكون مشكلة كبيرة مستقبلا
4- سأنتظر سنتين ايضا .. لعل الحال يتحسن .
 
معذرة على الاطالة ..

--
طالب - تخصص نظم معلومات .
--

خبير  أحمد عبد الغني مشاركة 5

أما في 30/رمضان/1429 02:23 م، فقد تنهد الشمري بارتياح وهو يرد:

لا أخفيكم أني أشعر برغبة شديدة بالبكاء (هكذا  😭   ولكن بدون دموع  ) .. على حال OpenGL ..
وأشعر برغبة في الانتقال الى dx .. ولكن استخدامي للمكتبة هو لاهداف ثلاثة :
 
1- التعلّم ( كما ذكر الاخ أحمد .. فأعتقد هي أفضل طريقة لتعلّم برمجة الجرافكس ..فكل
جامعات العالم وكتب العالم ودكاترة العالم .. يستخدمون OpenGL ).
 
2- تطوير ألعاب ( بغض النظر عن الأداة ) .
 
3- OpenGL هي مجرد جسر .. للانتقال الى xxx API القادمة .. والتي قد تكون dx 12 .

أعتقد انه لا داعي لهذا الحزن. فلو كان المستر كريس هيكر بذاته ما زال يستعمل أوبن جي إل، فأين العيب اذن؟ 😠
 


في 30/رمضان/1429 02:23 م، غمغم الشمري باستغراب قائلاً:

لكن يجب أن نظهر الحقيقة .. وألا تكون المقالة أحد اهدافها الدفع الى dx ..

المقالة برأيي الشخصي أغفلت حقيقة مهمة ايضاً. قد تكون بسبب ان المستر كريس لم يعمل على اجهزة البلايستيشن. فحسب علمي فإن أجهزة البلاي ستيشن 2 و 3 تستخدم أوبن جي إل لبرمجة الرسوميات ايضا. 😪 وبذلك يكون اوبن جي إل و دايركت إكس متساويان من حيث الدعم على عدة منصات منتشرة ومهمة (إلا أن أوبن جي إل يفوز أكثر طبعاً، لأنه إضافة للبلايستيشن، فيوجد كل أنظمة التشغيل الأخرى وحتى أجهزة الموبايل). 😒
 
 
ما رأيك الآن أخي الشمري؟ هل ما زلت حزيناً؟

اللهم انصر أهلنا في فلسطين وآجرنا أن نكون عوناً لهم

موهوب  عبدالله الشمّري مشاركة 6

في 02/شوال/1429 03:43 م، عقد أحمد عبد الغني حاجبيه بتفكير وقال:

ما رأيك الآن أخي الشمري؟ هل ما زلت حزيناً؟

ما أعرفه عنك أنك من مبرمجي dx .. استغرب حقيقة هذه الوقفة مع OpenGL 😲  .. وتشكر عليها 😄
 
 
أما ما يكتب عن OpenGL وأن PS 2 / 3 يعتمد عليها  فأعتقد ان الامر مبالغ فيه .. ستسألني لماذا ... سأقول :
 
- OpenGL مجرد مواصفات Specification .. لذلك يجب أن تعمل Sony على نسخة خاصة بها ( new implementation )..  لذلك فمالفائدة من الاعتماد على OpenGL ..
 
- وما أعرفه انها تعتمد على اانفيديا .. أيضا .. ممكن على CG الخاص بها ..
 
عموما .. لا أظن أن Sony تعتمد كثيرا على OpenGL ..فهي تعتمد على أكثر من مكتبة ( حسب ما قرأت في رابط قديم لا اذكره الات ..)
ممكن يفيدنا احد عن ذلك .. هل بالفعل PS3 يعتمد بشكل كبير على OpenGL !
 
أعتقد أني دخلت في أمور لا ناقة لي فيها ولا جمل ..

--
طالب - تخصص نظم معلومات .
--

خبير  أحمد عبد الغني مشاركة 7

وفي 02/شوال/1429 04:08 م، قال الشمري متحمساً:

ما أعرفه عنك أنك من مبرمجي dx .. استغرب حقيقة هذه الوقفة مع OpenGL 😲  .. وتشكر عليها 😄

بصراحة لم أفكر أبداً بالموضوع بهذه الطريقة (وكأن مبرمجي دايركت إكس أعداء لمبرمجي أوبن جي إل)  😒
نعم انا أكتب برامجي وأمثلتي بالدايركت إكس لكني أيضا اعلم الأوبن جي إل فنحن تعلمناه في الجامعة ولا أرى انه سيء على الإطلاق
 
 



وفي 02/شوال/1429 04:08 م، ظهر شبح ابتسامة على وجه الشمري وهو يقول:

- OpenGL مجرد مواصفات Specification .. لذلك يجب أن تعمل Sony على نسخة خاصة بها ( new implementation )..  لذلك فمالفائدة من الاعتماد على OpenGL ..

طبعا توفير الوقت على المبرمجين من ان يتعلموا مكتبة جديدة 😪  
 



أما في 02/شوال/1429 04:08 م، فقد تنهد الشمري بارتياح وهو يرد:

وما أعرفه انها تعتمد على اانفيديا .. أيضا .. ممكن على CG الخاص بها ..
 
عموما .. لا أظن أن Sony تعتمد كثيرا على OpenGL ..فهي تعتمد على أكثر من مكتبة ( حسب ما قرأت في رابط قديم لا اذكره الات ..)
ممكن يفيدنا احد عن ذلك .. هل بالفعل PS3 يعتمد بشكل كبير على OpenGL !

فعلا حبذا لو ينيرنا أحد من الأشخاص ذوي الخبرة العملية 😖

اللهم انصر أهلنا في فلسطين وآجرنا أن نكون عوناً لهم

خبير مدير وسام البهنسي مشاركة 8

أما في 02/شوال/1429 04:08 م، فقد تنهد الشمري بارتياح وهو يرد:

أما ما يكتب عن OpenGL وأن PS 2 / 3 يعتمد عليها  فأعتقد ان الامر مبالغ فيه .. ستسألني لماذا ... سأقول :
 
- OpenGL مجرد مواصفات Specification .. لذلك يجب أن تعمل Sony على نسخة خاصة بها ( new implementation )..  لذلك فمالفائدة من الاعتماد على OpenGL ..
 
- وما أعرفه انها تعتمد على اانفيديا .. أيضا .. ممكن على CG الخاص بها ..
 
عموما .. لا أظن أن Sony تعتمد كثيرا على OpenGL ..فهي تعتمد على أكثر من مكتبة ( حسب ما قرأت في رابط قديم لا اذكره الات ..)
ممكن يفيدنا احد عن ذلك .. هل بالفعل PS3 يعتمد بشكل كبير على OpenGL !

أشارك رأي أحمد عبد الغني بأن وقت وفاة OpenGL لم يحن بعد 😨 . فمن جهة، برمجة أجهزة الموبايل الحديثة تعتمد حصراً على OpenGL ES (نسخة مصغرة من OpenGL)، وأجهزة سوني بليستيشن أيضاً تدعم OpenGL ES مع بعض الامتدادات الخاصة بها لمزايا معينة تتواجد فقط على معالجات سوني (المكتبة تدعى PSGL بدلاً من OpenGL).
 
في حالة البليستيشن 3، فإن البرمجة تتم كالآتي:
 
مكتبة الرسوميات: إما OpenGL، أو libGCM، وهي مكتبة رسوميات خفيضة المستوى للغاية، لدرجة أنك ستجد نفسك تكتب ما يقابل الـ driver (تعريف كرت الشاشة) لكن على البليستيشن، فأنت تبني بنفسك سلسلة أوامر (command buffer) مشكلة من تعليمات تتكون من خليط من البتات (bits) والبايتات السحرية، والتي يتسبب أي خطأ بإصدارها بتعطل معالج الرسوميات، ولا يمكن إصلاحه إلا بإيقاف اللعبة 😖 .
باختصار، إن كنت تريد تفادي جلب الصداع لرأسك، فاستخدم OpenGL... 😒
 
برمجة المظللات: حصراً تتم عن طريق Cg كما ذكرت يا الشمري، وذلك سواءً كنت تستخدم OpenGL أو libGCM.
 
 
أضيف أيضاً أن أسلوب البرمجة بـ OpenGL هو المتبع في أغلب مكتبات برمجة البليستيشن الأخرى (procedural programming)، وحتى مكتبة الرسوميات GX في الـ GameCube والـ Wii تعتمد أسلوباً مشابهاً (وإن كانت لا علاقة لها بـ OpenGL).
 
 
لكن يمكننا القول أنك في النهاية تتعلم مفاهيم قابلة للتطبيق على أي منصة أخرى مع بعض الفروق البسيطة... 😄

وسام البهنسي
مبرمج في إنفيديا وإنفريمز