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

Opengl برمجه محرك العاب ب ريندر متقدم

بدأه صمودا في 20 سبتمبر 2012 · 4 رد · 5,581 مشاهدة · في OpenGL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم,

كيف يمكن عمل محرك العاب يقوم ب عمليه ال Rendering بتقنيه و وضوح عاليين كالذي نراه في محركات الالعاب الغير مجانيه

لماذا ال 3d geometry تظهر بشكل غير جميل بعد الريندر و كانها كارتونيه حتى بعد عمل التيكستر الاكساء؟

مثلا الريندر في ال cryengine يبدو افضل بكثير و اقرب للواقعيه و لكنه يبدو بشكل بسيط و قبيح في محركات الالعاب الشخصيه المكونه في opengl?

لدي مثاليين للمقارنه

الاول فيديو بسيط اوبن جي ال

و الثاني من جيم انجن اسمه Unigine

ما الذي يحتاج اليه مرحك الالعاب المجانيه لكي يظهر الجرافيكس بهذا الوضوح الموجود في الفيديو الثاني؟

الا يوجد high quality rendering system for opengl?

#2

المكان المناسب لموضوعك هو منتدى برمجة الألعاب و الرسوميات (قسم الــ OpenGL).

يُنقل.

#3

السلام عليكم أخي , بإجابة واحدة فإنه بدوري سأخلط عليك الأمور تماما. لذا تابع معي.....

أولا و بعد كل شيء , هو الحصول على أشكال مصممة كالمباني و الأرضية و الشخصيات ووووو إلخ , يتم هذا ببرامج التصميم , مثل الماكس و البلندر . فبهما نشكل الأشكال و نعطيها إكساءات خاصة و من ثم نقوم بتصدير الشكل النهائي جسب الملف الذي سنطور عليه اللعبة. يعني إما أن نعتمد على مكتبات جاهزة مثل assimp , أو نعتمد على محركات مثل irrlicht أو ogre أو نعتمد على شيفرات نقوم ببرمجتها إعتمادا على بنية الملف المصدر ( فإن كنت ستصدر الملف بتنسيق obj ففي النت هناك العديد من الشيفرات المقدمة , و إن كان بتنسيق 3ds ففي المندي ما يكفيك و على حسب أسلوب برمجتك ) .

ثانية أسلوب العرض سيكون إفتراضيا مثل الفيديو الأول . و لجعل العرض مثل الفيديو الثاني , هناك ما يسمى بلغة التظليل ( GLSL ) هذا الأسلوب الجديد توفره مكتبة OpenGL , ( كذا توفر DirectX ال HLSL على ما أعتقد ) ,

الطريقة ستكون برمجية , ( مملة جدا ) و على هذا الأساس عمدة كثير من محررات الألعاب على دعم هذه الخاصية أي خاصية GLSL و بصيغة مختلفة مثل أسلوب البرمجة .

حسنا لنعد إلى مثالك , لنقل أن الفيديوا صمم بأحد محررات الألعاب , لجعل الأرضية تظهر بهذا التصيير , علينا توفير إكساء الأرضية و إكساء خريطة الناظم ( Normal Map ) الخاص بإكساء الأرضية . و بدمج الإكساءين نحصل على تصيير عالي ( في الحقيقة مجرد إجهاد لعين الناظر , لأنه يجعل الإضاءة ليست مسطحة بل تندرج مع الظلال الموجودة في إكساء خريطة الناظم NormalMap .

ما تراه في الفيديو الآن ليس المهم أسلوب التصيير و لكن المهم في الفيديوا سرعة التصيير و الأداء. مكتبة OpenGL الآن أصبحت تدعمها OpenCL المقدمة من فريق خرونوس.

OpenCL هي مجرد أسلوب لزيادة سرعة التصيير على مكتبة OpenGL , و قد أصبحت المكتبة مستقلة و تقوم بعملية إيقاع متناغم لكل المعالجات و الذاكرات الموجودة على الحاسب , OpenCL تستفيد من معالج الرسوميات و المعالج المركزي و كل المعالجات المدمجة و كذا ستستفيذ من ذاكرة الشاشة و الرام و ووو .أي أنك لو قمت بتشغيل لعبة , ستستفيد فقط من بطاقة العرض و القليل جدا من المعالج , أما لو شغلت لعبة تعمل على OpenCL و OpenGL ستصبح كل المعالجات في حالة تنشيط 100/100 .

تم تعديل هذه المشاركة بواسطة 3ds max2010 في 21 سبتمبر 2012 في 02:01

1

تخيل, هل سيكون مستقبل الأوبن جي أل مع البشرية هكذا

future.jpg
#4

هناك العديد من التقنيات التى ان جمعت معا تعطينا مظهر احترافي , وكلها تستعمل لغة التضليل . مع انه يمكنك عمل نفس الشىء بدونها لكن ستدفع الثمن على حساب cpu

1
#5
fouad2008 كتب:

هناك العديد من التقنيات التى ان جمعت معا تعطينا مظهر احترافي , وكلها تستعمل لغة التضليل . مع انه يمكنك عمل نفس الشىء بدونها لكن ستدفع الثمن على حساب cpu

شكرا لك اخي

جوابك واضح جدا

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