هل هناك طريقة أكثر كفاءة للتعامل مع متطلبات حجم 2 ^ n بكسل لملمس OpenGL ES؟

StackOverflow https://stackoverflow.com/questions/1191945

  •  19-09-2019
  •  | 
  •  

سؤال

آسف إذا كان سؤالي غير واضح. اسمحوا لي أن توضح.

لدي مستطيل الحجم 100 × 200، ولدي حجم رسومات 100 × 200 والذي يناسب المستطيل. نظرا لأن OpenGL يتطلب من جميع القوام أن يكون لديك 2 ^ n عرضها وارتفاعها، فقد وضعت أساسا الرسم البياني 100 × 200 مباشرة في صورة 128 × 256 لهذا الغرض. إنه يعمل بشكل جيد في OpenGL لأنني طلبت من ذلك ببساطة رسم جزء فقط من الملمس الذي أحتاجه على المستطيل. ومع ذلك، ما يذكرني هو أنه في الملمس 128 × 256، هناك الكثير من المساحات غير المستخدمة.

هل هناك طريقة أفضل للتعامل مع هذه المساحات غير المستخدمة في هذه الحالة؟ أم أن هذا من المفترض أن يكون الطريق للذهاب؟

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

المحلول

حزمة قوام متعددة في واحد "ورقة".

نصائح أخرى

إذا كنت يجب أن تقلل من الحشو لتوفير الذاكرة، فيمكنك تقسيم الصورة إلى قوام متعددة Pow2، على سبيل المثال، تقسيم 100 بكسل أفقيا إلى 64 و 32 و 4 و 200 بكسل عموديا في 128، 64، 8. ستحتاج أيضا إلى تقسيم المستطيل لك "إعادة النسيج إلى مستطيلات مقابلة متعددة (الكواد).

في هذا المثال، ستتم تقديم 9 كواد / نسيج بدلا من 1، لذلك ستحتاج إلى قياس ما إذا كان هناك أداء يحتوي في طلبك.

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

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

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