سؤال

أنا أحاول لعرض الصورة في برنامج openGL البيئة.الصورة origninal أبعاد 3648x2432 و أريد أن عرض ذلك مع 256x384 الصورة.المشكلة هي 384 ليست قوة 2, و عند محاولة عرض هذا ، يبدو امتدت.كيف يمكنني إصلاح ذلك ؟

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

المحلول

هناك ثلاثة طرق للقيام بذلك أن أعرف -

  • واحد اقترح ألبرت (حجمه حتى تناسبها).
  • تقسيم نسيج في 2**n-الحجم مستطيلات ، وقطعة معا في بعض الطريق.
  • انظر إذا كان يمكنك استخدام GL_ARB_texture_non_power_of_two.ربما من الأفضل تجنب ذلك على الرغم من أنه يبدو وكأنه انها Xorg محددة التمديد.

نصائح أخرى

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

وARB_texture_rectangle ربما هو ما كنت أبحث عنه. فإنه يتيح لك ربط GL_TEXTURE_RECTANGLE_ARB بدلا من GL_TEXTURE_2D، ويمكنك تحميل صورة ذات أبعاد وعدم القدرة لل-2. كن على علم بأن الإحداثيات الملمس الخاص بك وسوف تتراوح بين [0..w] س [0..h] بدلا من [0..1] س [0..1].

إذا GL_EXT_texture_rectangle هو صحيح ثم استخدام GL_TEXTURE_RECTANGLE_EXT لالمعلمة الأولى في glEnable () وGLBindTexture () يدعو.

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