النتائج 1 إلى 15 من 28

الموضوع: التقنيات الرسومية (الجزء الثالث) المضلعات والترصيع

مشاهدة المواضيع

المشاركة السابقة المشاركة السابقة   المشاركة التالية المشاركة التالية
  1. #1
    مشرف سابق
    تاريخ التسجيل
    Sep 2009
    المشاركات
    5,033
    الدولة: Egypt
    معدل تقييم المستوى
    93

    التقنيات الرسومية (الجزء الثالث) المضلعات والترصيع



    تكلمنا في المرات السابقة عن الدقة وممانع التعرج في الحلقتين السابقتين من هنا
    التقنيات الرسومية (الجزء الأول) دقة العرض

    التقنيات الرسومية (الجزء الثانى) تنعيم الحواف

    أما اليوم فسوف نتكلم عن تقنية جديدة وهي أساس الرسوميات والأشكال ثلاثية الأبعاد بشكل عام....وهو ما يعرف بنظام المضلعات أو Polygons

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





    لنفترض اذا أن الشكل الذي أمامنا يتكون من 2000 نقطة و يجب علي البطاقة الرسومية أداء 2000 عملية حسابية لنقل المستطيل الأخضر الذي يتكون من 2000 نقطة الي أسفل ،بالطبع فان نقل هذا العدد الكبير من النقاط سيحتاج جهدا رسوميا كبيرا من البطاقة الرسومية والتي كانت في البداية ضعيفة الي حد ما لذلك فقد كانت هذه مشكلة كبيرة في البداية.
    لكن لكل مشكلة حل بالطبع ، والحل الذي فكر فيه المطورون هو الاكتفاء بأداء الحسابات علي النقاط المكوّنة لاطار المستطيل (حوافه) ، ثم ملأ ما بين الحواف باللون الأخضر.


    ستتعامل البطاقة الرسومية فقط مع حواف المستطيل .. والحواف فقط هنا تكوّن 600 نقطة ، وهو عدد اقل بثلاثة اضعاف من السابق !



    بعد التحريك الي أسفل ، تبدأ عملية الملأ ،و ستقوم فيها البطاقة بملأ المساحة ما بين حواف المستطيل باللون الأخضر ،وفّرت البطاقة الرسومية هنا 1400 عملية حسابية، فهي تتعامل الآن مع 600 نقطة بدلا من 2000 ،لكن 600 نقطة لا يزال عدد كبير ، وطالما توصّلنا الي تطبيق مبدأ الملأ ، فانه يمكننا الآن التمادي في اختصار النقاط أكثر ، فبدلا من التعامل مع كل نقاط حواف المستطيل ، سنتعامل فقط مع النقاط الأساسية فيه ، وهي أركانه الأربعة .

    ستتعامل البطاقة الآن مع أربعة نقاط فقط ، وهي النقاط المكونة لأركان المستطيل ، ثم تملأ ما بينها بالنقاط الخضراء.

    عملية الملأ بين أركان المستطيل ،هنا تم توفير 1996 عملية حسابية ، والاكتفاء بأربع عمليات فقط علي أربعة نقاط ، ثم ملأ ما بين النقاط الأربع ،وقد يسأل سائل .. ألا تعتبر عملية الملأ جهدا حسابيا أيضا ؟
    هذا صحيح .. لكنها جهد أقل بكثير من جهد النقل والتحريك .. ،اذن ما فعلناه هنا هو تقليل كمية الحسابات الي تقوم بها البطاقة الرسومية ، وبذلك نحصل علي أداء أعلي ، وكل هذا عن طريق تعديلات بسيطة في اسلوب المعالجة ، فبدلا من أن تتحكم البطاقة في كل نقاط الشكل ، ستتحكم فقط في النقاط المحوريّة فيه ،يطلق علي النقاط التي تتعامل معها البطاقة اسم نقاط التحكّم أو رؤوس التحكّم Vertices ، وذلك لأن البطاقة تستطيع التحكم في المستطيل من خلالها ، بنقله من مكانه الي مكان جديد ، أو حتي بتغيير شكله .


    يمكن للبطاقة تغيير شكل المستطيل ، بحذف احدي نقاط التحكم تماما ، ليتحوّل الي مثلث !


    فيما بعد احتاج المطورون الي المزيد من التحكم في الأشكال الرسومية ، وفرض هذا عليهم اضافة المزيد من نقاط التحكّم ، وذلك علي الرغم من محاولتهم تقليل عددها ، لكن العائد يستحقّ .

    بدلا من أربعة ، ستتحكم البطاقة في تسعة نقاط (رؤوس) تحكم .

    عملية الملأ ما بين الرؤوس لتكوين الحواف أولا.

    عملية الملأ ما بين الحواف.

    زيادة نقاط التحكم أعطت قدرة أكبر علي التحكم في الشكل ، فبحذف نقطة واحدة من التسعة ، يتحول المستطيل الي شكل أكثر تعقيدا !

    حذف نقطتين يغيّر من شكل المستطيل أكثر و أكثر.

    حذف ثلاثة نقاط يضيّع نصف المستطيل ، ويفيد هذا في المواقف التي يكون فيها نصف المستطيل محجوبا خلف شئ آخر.

    زيادة عدد نقاط التحكم الي 14 نقطة ، يزيد من احتمالات التحكم في المستطيل ، وتغيير شكله الي أشكال جديدة ،وهنا يجد المطورون أنفسهم في حيرة ، فزيادة عدد نقاط التحكم ، يزيد من العمليات الحسابية التي يتوجّب علي البطاقة عملها وبالتالي يحتاج الي بطاقة أقوي ، لكنه في نفس الوقت يعطي مرونة أكبر في التحكم في الأشكال الرسومية ، وهذا مهم للغاية في الألعاب ،بغض النظر عن ذلك ، فان نظام نقاط(رؤوس) التحكم اصبح نظاما قياسيا شاملا ، فكل الرسوميات المولّدة عن طريق الحاسوب تستعمل هذا النظام ، سواء كانت ألعابا ، أو عروض احترافية سينمائية ،فحتّي عندما يرغب المطورون في رسم الأشكال ثلاثية الأبعاد فانهم يبدأون برسم نقاط التحكم أولا ، وعلي برامج التصميم ثلاثي الأبعاد التوصيل بين نقاط التحكم هذه .

    منظر يدّ ثلاثية الأبعاد تحت التصميم (لونها رمادي) ، ويظهر في الخلفية صورتين ليد حقيقية من زاويتين مختلفتين ، يسترشد بهما المُصمّم أثناء رسم اليد بنقاط التحكم .

    أصبحت كل رسوميات الحاسوب مكونة من نقاط تحكم أو مضلعات Polygons ، والمضلّع هو عبارة عن مجموعة من رؤوس التحكّم متّصلين ببعض ، وفي الصورة أعلاه ، فان كل مضلع هو عبارة عن أربعة رؤوس تحكم،أثناء عملية الرسم ، فان عدد نقاط التحكم يؤثر علي جودة الشكل النهائية ، وخصوصا في الأشكال ذات الخطوط المنُحنية .

    شكل قوس دائري من خمسة نقاط تحكم ، وبالطبع يقوم الحاسوب بالتوصيل ما بين النقاط.

    نفس القوس ، لكنه مصنوع من سبعة نقاط(رؤوس) تحكم هذه المرّة ، لاحظ كيف أنه أكثر استدارة من سلفه ذو الخمسة رؤوس ،اذن كلما زاد عدد رؤوس التحكم في الشكل المنحني كلما أصبح أكثر استدارة وتفصيلا ، لكن بالطبع فان زيادة عدد النقاط يؤدي الي زيادة كمية الحسابات التي يجب أن تحسبها البطاقة الرسومية ،تتيح الألعاب استخدام عدد متفاوت من نقاط(رؤوس) التحكم ، بحيث تُلائم أكبر عدد من البطاقات الرسومية ، الضعيف منها والقوي ،عادة ما تحوي الألعاب خيارات مثل Model Details ، أو Model Quality ، أو Object Quality ..الخ ، وكلّها خيارات لضبط عدد رؤوس التحكم للأشكال ثلاثية الأبعاد .. امّا بأقل عدد ممكن Low ، أو بعدد وسطيّ Medium ، أو بأقصي عدد متوافر High .

    صورة لعجلة طائرة ، الي اليمين العجلة بأكبر عدد ممكن للرؤوس ، لذا تظهر كاملة الاستدارة ، والي اليسار العجلة بأقل عدد ممكن من الرؤوس ، لذا تظهر مدببة الزوايا



    صورة لوجه بشري ، القسم الأعلي يوضّح الوجه بعدد مضلّعات/رؤوس كبير ويظهر الوجه مستديرا ومتناسقا، والقسم الأسفل يوضح الوجه بعدد رؤوس قليل ، ويظهر الوجه مدببا وأقل تناسقا .


    صورة أخري توضح الفارق بين الأشكال ذات الرؤس الكثيرة والأخري ذات الرؤس الأقل....

    yuna-high-poly-low-poly.jpg

    صورة لشخصية من لعبة Final Fantasy، الي اليمين الشخصية بعدد رؤوس كبير ، والي اليسار الشخصية بعدد رؤوس أقل، لاحظ الفارق،لن نحتاج لتكرار أنه بزيادة عدد الرؤوس فان العبأ الحسابي يكون أكبر علي البطاقة الرسومية ، وبالذات علي المعالج الرسومي GPU ، وكذلك الذاكرة الرسومية ، ذلك لأن كل رؤوس(نقاط) التحكم تخزّن في الذاكرة أولا .

    اذا كانت بطاقتك الرسومية ضعيفة ، أو ذات ذاكرة بسعة تبادل بيانات متواضعة ، فانه من المفضّل أن تقوم بضبط اعدادت تفاصيل الرؤوس الي Low ، أو Medium ،في النهاية ،رأينا كيف تطوّر مفهوم الرؤوس من محاولة لتقليل العبا الحسابي أثناء تحريك الألوان ، الي اختصار في عدد النقاط التي تتعامل معها البطاقة الرسومية في كل شكل ، ثم الي وسيلة للتحكم في الشكل ثلاثي الأبعاد وتعديل شكله ، وفي النهاية الي طريقة رسم وبناء الأشكال ثلاثية الأبعاد من الصفر ..

    في الفيديو التالي سنجد مراحل تطور الرسوميات والتي بدأت بالنقاط في البداية ومن ثم تطورت لتعمل بنظام المضلعات....




    الترصيع Tessellation :

    مع التقدم والتطور في الرسوميات كان من اللازم زيادة دقة الرسوم لتحاكي بشكل أفضل الأشكال الطبيعية سواء في الألعاب أو الرسوميات والعروض ثلاثية الأبعاد....ولذلك فكان لابد أيضا من زيادة عدد المضلعات لأنه وكما قلنا فالمضلعات هي المسؤل الأول عن جودة الرسوم والتفاصيل.....
    وكانت مكتبة DX11 هي الحل الأمثل عن طريق توفيرها للكثير من الخصائص الجديدة والتي من بينها خاصية الترصيع أو (Tesselation)....
    اذن ماهو الترصيع؟؟:
    الترصيع هو أحد الخصائص الجديدة في DirectX11 ، وهو يؤدي وظيفة زيادة عدد رؤوس (نقاط) التحكم لأي شكل ثلاثي الأبعاد بطريقة تلقائية ، بحيث يحصل الشكل علي تفاصيل اكثر.





    صورة لوجه بشري بعدد قليل من المضلعات علي اليسار ثم مع عدد أكبر في المنتصف.....وعلي اليمين بعد تطبيق الترصيع حيث ازداد عدد مضلعات الوجه (رؤوس التحكم) ، وحصل الوجه علي تفاصيل أكثر ،بالطبع يضغط الترصيع بشكل أكبر علي البطاقة الرسومية ، بسبب عدد الرؤوس الكبير ، لكنه يوفّر في استهلاك الذاكرة ، لأن عملية زيادة عدد الروؤس تتم بعد قراءة الشكل الأصلي من الذاكرة .

    التعديل الأخير تم بواسطة Ahmed Abdelwahab ; 09-05-2013 الساعة 23:32

المفضلات

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •