سؤال

ما هي تظليل Vertex و Pixel؟

ما الفرق بينهم؟أي واحد هو الأفضل؟

هل كانت مفيدة؟

المحلول

بيكسل شادر هو GPU العنصر (وحدة معالجة الرسومات) التي يمكن برمجتها للعمل على أساس لكل بكسل ورعاية من الاشياء مثل الإضاءة وعثرة رسم الخرائط.

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

لا هو أفضل من الآخر، كل منهما لها استخدامات محددة. وتشمل معظم بطاقات الرسوم البيانية الحديثة الذي يدعم DirectX 9 أو أفضل هذه القدرات.

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

نصائح أخرى

قدم DirectX 10 وOpenGL 3 Geometry Shader كنوع ثالث.

في تقديم طلب خط الأنابيب -

فيرتكس شادر - يأخذ نقطة واحدة ويمكن تعديلها.يمكن استخدامه للعمل على حسابات الإضاءة الرأسية المعقدة كإعداد للمرحلة التالية و/أو تشويه النقاط حولها (التمايل، المقياس، إلخ).

يتم تمرير كل بدائية ناتجة إلى

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

يتم تحويل كل عنصر بدائي ناتج عن خط المسح ويتم تمرير كل بكسل يغطيه الامتداد عبر

بكسل تظليل (Fragment Shader في OpenGL) - يحسب لون البكسل الموجود على الشاشة بناءً على ما يمرره تظليل قمة الرأس والأنسجة المرتبطة والبيانات المضافة بواسطة المستخدم.لا يمكن لهذا قراءة الشاشة الحالية على الإطلاق، ما عليك سوى معرفة اللون/الشفافية التي يجب أن تكون عليها البكسل للشاشة البدائية الحالية.

يتم بعد ذلك وضع وحدات البكسل هذه في المخزن المؤقت للسحب الحالي (الشاشة، المخزن المؤقت الخلفي، التجسيد إلى الملمس، أيًا كان)

يمكن لجميع التظليل الوصول إلى البيانات العالمية مثل مصفوفة الرؤية العالمية ويمكن للمطور تمرير متغيرات بسيطة لهم لاستخدامها في الإضاءة أو أي غرض آخر.تتم معالجة التظليل بلغة تشبه المجمع، لكن إصدارات DirectX وOpenGL الحديثة بنيت في مترجمات لغة عالية المستوى تشبه لغة C مدمجة تسمى HLSL وGLSL على التوالي.لدى NVidia أيضًا مترجم تظليل يسمى CG يعمل على كلا واجهات برمجة التطبيقات.

[تم التعديل ليعكس الترتيب غير الصحيح الذي قمت به من قبل (الهندسة->القمة->البكسل) كما هو مذكور في التعليق.]

يوجد الآن 3 تظليلات جديدة مستخدمة في DirectX 11 للفسيفساء.ترتيب التظليل الكامل الجديد هو Vertex->Hull->Tessellation->Domain->Geometry->Pixel.لم أستخدم هذه الكلمات الجديدة بعد، لذا لا أشعر أنني مؤهل لوصفها بدقة.

وفيرتكس بكسل وتظليل توفر وظائف مختلفة داخل خط أنابيب الرسومات. تظليل قمة الرأس تأخذ ومعالجة البيانات المتعلقة قنة (المواقف، الأوضاع الطبيعية، texcoords).

وبكسل (أو على نحو أدق، جزء) تظليل تأخذ القيم محرف من تلك المصنعة في تظليل فيرتكس وتوليد شظايا بكسل. ويتم معظم الاشياء "تبريد" في تظليل بكسل. هذا هو المكان أشياء مثل البحث الملمس والإضاءة تحدث.

خاص ببرنامج DirectX:

تظليل:

مجموعة من البرامج التي تنفذ إضافة ميزات رسومية إلى الكائنات غير المحددة في مسار العرض الثابت.لهذا السبب يمكننا أن يكون لدينا آثار رسومية خاصة بنا وفقًا لاحتياجاتنا - أي ، لم نعد نقتصر على العمليات "الثابتة" المحددة مسبقًا.

إتش إس إل:(لغة ​​التظليل عالية المستوى):

HLSL هي لغة برمجة مثل C++ والتي تستخدم لتنفيذ التظليل (Pixel Shaders / Vertex Shaders).

تظليل قمة الرأس:

A Vertex Shader هو برنامج تم تنفيذه على وحدة معالجة الرسومات الخاصة ببطاقة الرسومات التي تعمل على كل قمة على حدة.وهذا يسهل علينا كتابة خوارزمية مخصصة خاصة بنا للعمل مع القمم.

تظليل بكسل:

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

ملحوظة: يجب تجميع كل من Vertex Shaders وPixel Shaders (البرامج) باستخدام إصدار محدد من المترجم قبل الاستخدام.يمكن إجراء التجميع تمامًا مثل استدعاء واجهة برمجة التطبيقات (API) مع المعلمات المطلوبة مثل اسم الملف ووظيفة الإدخال الرئيسية وما إلى ذلك.

في مجال التنمية تظليل بكسل هو برنامج صغير يعمل على كل بكسل على حدة، وبالمثل تظليل فيرتكس يعمل على كل قمة على حدة.

ويمكن استخدام هذه لخلق المؤثرات الخاصة، والظلال، والإضاءة، وما إلى ذلك ...

وبما أن كل بكسل / يتم تشغيل فيرتكس على فردي هذه <م> تظليل تصلح لبنية موازية للغاية من المعالجات الرسومية الحديثة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top