Graphics_programmings_pt1

الجرافيكس

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

تصنف برمجة الجرافيكس عموما إلى نوعين:

الأول: السكريبتنغ Scripting:


تعني التحكم في البرنامج بإستعمال عدة أوامر غالبا ما تكون في شكل لغة برمجة اكثر لغات السكريبتنغ إستعمالا هي لغة بايثون python

يستعمل السكريبتنغ في عدة اغراض منها:

• التخصيص و إضافة ميزات للبرنامج:

البرامج التي نستعملها تأتي لتخدم عدة إستعمالات في عدة مجالات أي انها عامة general purpose و قد تقتضي الحوجة أضافة او تخصيص customization or extension لتلك البرامج

فمثلا للفوتوشوب توجد عدة إضافات addons or plugins تساعد في تعديل الصور

• الأتمتة automation :

هناك بعض الخطوات التي تتكرر كثيرا يمكن جعل تنفذيها يحصل تلقائيا بعض البرامج توفر خيارات أتمتة لا تحتاج استعمال لغات برمجة مثلا كالactions في Photoshop و ال macros in Microsoft office

• السكريبتنغ يكون جزء من عمل البرنامج:

فمثلا برامج تطوير الألعاب (المعروفة بمحركات الالعاب game engines) تستعمل لغات برمجة لغرض تحديد كيف يتفاعل اللاعب مع اللعبة و تطوير انظمة اللعبة مثلا لغة C# مع محرك unity

• طريقة سكريبتنغ مرئية:

visual scripting حيث يقوم المستخدم بتوصيل مربعات تعرف بإسم nodes مع بعضها البعض لتؤدي غرض حسابي او منطقي معين

النوع الثاني: تطوير البرامج نفسها:


يتضمن تطوير برامج الجرافيكس إستعمال طرق اكثر تعقيدا تشمل برمجة المعالج و المعالج الرسومي (كرت الشاشة) تختلف على حسب المنصة (حاسوب ، هاتف .. اجهزة اللعب consoles..الخ) و على حسب المجال المعين الذي يستعمل فيه البرنامج (بحوث علمية و محاكاة ، تصميم ، تطوير العاب ..الخ) و على حسب نظام التشغيل (لينكس ، ويندوز ، اندرويد..الخ) اللغات الشائعة: c++/c و مؤخرا لغة. Rust إشتهرت كثيرا في السنوات الأخيرة

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

Graphics application programming interfaces or graphics APIs

حيث تعمل تلك المقاييس كطبقة وسيطة بين المبرمجين و صانعي الأجهزة و انظمة التشغيل

مثال: directX/direct3d for windows

Metal for apple

Vulkan and openGL for all platforms

مبني بستخدام Hugo
قالب Stack مصمم من Jimmy