مكتبة الرسوميات المفتوحة: الفرق بين النسختين

[نسخة منشورة][نسخة منشورة]
تم حذف المحتوى تمت إضافة المحتوى
طلا ملخص تعديل
ط Bot: Replace deprecated <source> tag and "enclose" parameter، تغييرات تجميلية
سطر 18:
 
مثال بسيط لرسم مربّع أبيض على الشاشة باستخدام [[سي (لغة برمجة)|لغة السي]]، نقوم أوّلا بإرسال أمر مسح الشاشة (glClear):
<sourcesyntaxhighlight lang="c">
glClear(GL_COLOR_BUFFER_BIT);
</syntaxhighlight>
</source>
ثمّ نحدّد زاوية الرؤية وكيفيّة الإسقاط داخل الماسورة:
<sourcesyntaxhighlight lang="c">
glMatrixMode(GL_PROJECTION); /* أمر إعلام بوجوب تغيير مصفوفة الإسقاط */
glLoadIdentity(); /* إدخال مصفوصة، هذا الأمر يرسل ببساطة مصفوفة وحدة */
glOrtho(.0, 1.0,.0, 1.0, -1.0, 1.0); /* تحديد معيّن الإسقاط */
</syntaxhighlight>
</source>
الآن بعد مسح الشاشة وتحديد أوامر الإسقاط يمكننا البدء في الرسم على المعيّن الجديد. سنقوم برسم بدائيّة تتمثّل في مربّع. للقيام بهذا نحتاج لإرسال أوامر تحدّد إحداثيات النقط الأربعة المشكّلة للمربّع:
<sourcesyntaxhighlight lang="c">
glColor3f(1.0f, 1.0f, 1.0f); /* تحديد لون الرسم، في هذه الحالة أبيض */
 
سطر 39:
 
glFlush(); /* إمر بتنفيذ كلّ الأوامر والرسم على الشاشة */
</syntaxhighlight>
</source>
 
إن واجهة الـ OpenGL تتألف من أكثر من 250 وظيفة مختلفة والتي يمكن استخدامها لرسم مشاهد معقدة ثلاثية الأبعاد.
لقد طورت هذه اللغة بواسطة شركة Silicon Graphics في عام 1992 والتي تستخدم ضمن الـ CAD والواقع الافتراضي والتصور العلمي.. إلخ.
كما أنها تستخدم في ألعاب الفيديو حيث أنها تتنافس مع Direct3D على منصات مايكروسوفت ويندوز.
 
سطر 57:
إذا أردنا مثالا بسيطا عن مهمة هذه المكتبة
 
تصور أنك تريد رسم مكعب مثلا...
في الحالة العادية ودون استخدام إحدى هذه المكتبات فإنك ستحتاج لمخاطبة المسرع الرسومي بشكل مباشر بلغة صعبة جدا وتعقيدات كثيرة مما يزيد من صعوبة البرمجة ويزيد من تكاليفها أيضا...
 
أما حين استخدام واجهة Direct3D فالذي عليك فعله أولا هو استدعاء أوامر المكتبة وستحتاج هنا لمكتبة Direct3D فقط من مجموعة مكتبات DirectX
ثم تأمرها برسم المضلعات (وهي أشكال ثلاثية الأضلاع في عالم ثلاثي الأبعاد تكون الأساس الخاص بكل الرسومات الثلاثية الأبعاد) وتحدد نقاط كل مضلع الثلاث في الفضاء الثلاثي وتحدد لونه ونوعه والكثير من مزاياه مثل المواد وغيرها ثم تنتهي لتتولى المكتبة بعد ذلك عملية مخاطبة المسرع الرسومي ورسم كل الأمور بشكل أسهل بكثير مما لو قمت برسم كل شي يدويا
 
طبعا قد تتساءل أولا تتطلب هذه العملية قوة معالجة إضافية لتحويل البيانات ؟؟؟
 
سنقول لك لا لأن المسرع الرسومي يأتي بدعم مسبق لهذه التعليمات... لهذا ترى المسرعات الحديثة تدعم مكتبة DirectX 9 بينما القديمة DirectX 8.1 والتي قبلها 8 و7.1 و7 وهكذا...
يقوم المعالج الرسومي تلقائيا برسم هذه الأوامر أي أنه أصبح يفهم أوامر الـ DirectX والـ OpenGL دون الحاجة للترجمة
 
سطر 81:
{{شريط بوابات|برمجيات|عقد 1990|معلوماتية}}
 
[[تصنيف:مكتبة الرسوميات المفتوحة| ]]
[[تصنيف:برمجيات 1992]]
[[تصنيف:برمجيات تطوير ألعاب الفيديو]]