الكل شاهد الـ Tesselation او ما يسمى بالترصيع وفائدته في إضفاء المزيد من الواقعية على الاجسام

في الألعاب أو الديموهات كـ Heavenmark.

الموضوع يسرد معلومات مبسطة لكيفية عمل الترصيع وأساسياته خصوصا في كروت شركة ATI.




الترصيع هو عبارة عن تقسيم عدد المضلعات الى مضلعات أصغر.. او بتعريف آخر هو تكثيف عدد المضلعات.

وتتجلى فوائد الترصيع في:

- الضغط: وهو تقليل عدد الـ footprint الذاكرة وتقليل استهلاك الـ bandwidth بحيث يتم تخزين النسيج.

بدقة أقل في محرك اللعبة.

مثال على المضلعات.. وتكوينها للنسيج:




- تطوير الـ
Bandwidt: حيث بدلا من ارسال جميع المضلعات التي تكون نسيج معقد إلى كرت الشاشة..

اصبح من الممكن ارسال نسيج بمضلعات قليلة وذات جودة رديئة.







الترصيع تم استخدامه بداية مع HD 8500 او HD 9800 حيث كانت توجد اداة ترصيع اسمها TruForm موجودة في

مكتبة OpenGL وتستطيع الولوج اليها عن طريقة اضافة اسمها GL_ATI_pn_triangles..

لاحقا تم حذف الاداء من تعريف الـ Catalys.



كما ترون بالأعلى على سبيل المثال.. جودة الصورة تكون رديئة.. بكثير ترى انعطاف النسيج في الابريق

شبيه بالمربعات... لكن بعد مروره في كرت الشاشة.. يتم ترصيع الشكل بالكامل عن طريق زيادة

عدد المضلعات بالتماشي مع النسيج.


هنالك طريقة اخرى في الترصيع تم استخدمها وهي مضاعفة مربع مرصّع.. وهي بعد أن يتم ترصيع

مربع مضلعات.. يتم مضاعفته العديد من المرات من خلال امر برمجي واحد.. وهذا لا يتطلب وجود وحدة ترصيع

عتادي, بدلا عن ذلك يتم استخدام اوامر برمجية أكثر.



مؤخرا .. صدر التعريف الأخير DX11 حمل الكثير من التطويرات المذهلة للترصيع.. حيث أصبح

الترصيع في dx9/dx10 ترصيع فرعي مقارنة مع الـ DX11.

حيث تم زيادة قوة الترصيع بنسبة كبيرة سنتطرق لاحقا لها في الموضوع..










- معلومة مقارنة في تفوق الترصيع في DX11 على DX10 و DX9 وهي ان معامل الضرب للترصيع

في DX10/DX9 يبدأ من 1 حتى 15.. أما معامل الضرب للترصيع في DX11 يبدأ من 1 حتى 64!.

طبعا تعتمد القيمة العليا لمعامل الضرب حسب هندسة وبرمجة تطبيقات API او ما تسمى بـ application

programming interfaces.. وأشهرها هو DirectX.





بالنسبة للترصيع على كروت HD Radeon فهي تستخدم طريقتين:


- الترصيع المنفصل:

ويتم بطريقة التقسيم أو مضاعفة المربع المرصّع كما ذكرنا في الموضوع سابقا.

ويتم فيه استخدام الارقام الصحيح. 2,6.16.48,50




بدون ترصيع








ترصيع مع معامل ضرب 1






ترصيع مع معامل ضرب 2








ترصيع مع معامل ضرب 5







ترصيع مع معامل ضرب 10








ترصيع مع معامل ضرب 15









- الترصيع المستمر:


يقوم بزيادة عدد المضلعات في النسيج عن طريق اضافة مضلعات.

بالامكان استخدام الارقام الصحيحة متبوعة بفواصل عشرية. 2.1,15.7,29.2 وذلك بإنشاء نسيج

أكثر تعقيدا بحيث الارقام العشرية تفيد بتغيير موقع الترصيع.




ترصيع مع معامل ضرب 1.0








ترصيع مع معامل ضرب 1.2







ترصيع مع معامل ضرب 1.8








ترصيع مع معامل ضرب 4.5







ترصيع مع معامل ضرب 15















الترصيع في فئة HD 2000,3000,4000 محدود عن طريق العتاد أو الهاردوير.. أي انه لايمكن

أن يتم تغيير قيمة معامل الضرب في الترصيع وهي 15 عن طريق اي برنامج أو اوامر برمجية.

بينما في فئة HD 5000, الترصيع يتم التحكم فيه وفي القيم الخاصة به. حيث يمكن الوصول

الى معامل الضرب الاعلى وهو 64 والمحدد من قبل Directx11 او الى الرقم المحدد وهو 15 في

الترصيع القديم في الفئات السابقة.


توجد آداة يتم تجربة الترصيع من خلالها حتى معامل ضرب 15:

https://www.geeks3d.com/20100209/gee...-15-available/


هنا ديمو للترصيع:

https://www.geeks3d.com/wp-content/p...oad.php?id=124


قم فقط بإسقاط الديمو داخل الأداة.



لاحقا سيتم اضافة تحديث تمكنك من استخدام معامل الضرب حتى 64.







** بالنسبة للترصيع في كروت Nvidia لا يختلف عن الترصيع في كروت ATI.. كون الترصيع يتم

باستخدام OpenGL والاعتماد على الدعم الكبير من DX11, لكن تختلف الطريقة في الاعتماد على المُرصّع


داخل الكرت.. فهنا الاداء يختلف.. حيث كما شاهدنا جميع الريفيوات لديمو Heavenmark 2.0 و 2.1 اثبت


تفوق ملحوظ لكروت الأخضر Nvidia.



** الكرت المستخدم في الأمثلة بين الترصيع المستمر والترصيع المنفصل هو HD 5770.



** في رأيي الخاص والله العالم أن الترصيع المنفصل يستخدم للأجسام الثابتة في الألعاب أكثر.. أما الترصيع


المستمر فهو للأجسام الاكثر تعقيدة كون الترصيع المستمر أكثر تلائما وتكيفا مع الـ LOD algorithm وهي

الاوامر والمعادلات التي يتم استخدامها في توليد المضلعات والتعديل على النسيج.






اعذروني اذا كانت هنالك أخطاء... كتبت الموضوع على السريع وبشكل مبسط حتى يستفيد الكل منه.

الموضوع هو ترجمة مع التعديل والحذف والإضافة للموضوع الاصلي:

https://www.geeks3d.com/20100209/tes...pengl-part-12/

مع مصادر اخرى من ويكيبيديا و AMD.






أخوكم, محمد