سؤال

عند تنفيذ تظليل بكسل تحت Direct3D، لا حدود على الإحداثيات الملمس التي تفرضها MaxTextureRepeat تصبح فقط مسألة أثناء المكالمات إلى وظائف الملمس بحث مثل Tex2D ()، أو أنها لم تدخل حيز يتم الوصول إلى إحداثيات الملمس داخل اللعب في أي وقت تظليل؟

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

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

المحلول

والإحداثيات الملمس هي في interpolator الدقة الأصلية. على تظليل بكسل 2.0 الأجهزة قادرة، وهذا هو على الأقل 24 بت النقطة العائمة (أو ربما 32 بت، ولست متأكدا). داخليا الحسابات في تظليل بكسل يجب أن تكون على الأقل 24 بت النقطة العائمة. معظم وحدات معالجة الرسومات الحديثة تعمل على 32 بت النقطة العائمة الدقة.

ووMaxTextureRepeat هو قدرة الأجهزة أخذ العينات الملمس.

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

ولكن، حيث يتحول فارك 0-1 ستحصل على تدرجات كبيرة، وذلك في تلك الأماكن GPU سوف تحتاج إلى استخدام منخفض جدا مستوى قرار MIP. هذا لا يمكن أن يكون مشكلة اعتمادا على الوضع الخاص بك وبطبيعة الحال؛ ولكن هذا نقطة واحدة من المشاكل المحتملة (ق).

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