في OpenGL ES، كيف يمكنني تحميل الملمس الذي لديه بكسل شفافة؟
-
03-07-2019 - |
سؤال
وبعد ذلك العرض بشكل صحيح؟ على سبيل المثال سيكون وجود الكرة المستديرة في المستطيل حين التمكن من رؤية نسيج آخر في الخلفية.
وتحرير: في هذه اللحظة، وعندما كنت تحميل الملمس يتم عرض بكسل شفافة من الصورة المصدر كما الأسود
المحلول
لفون وN95 يعمل هذا:
إذا كنت تقوم بتحميل الملمس من البيانات الخام، تعيين التنسيق الداخلي ومصدر لGL_RGBA.
glTexImage2D(GL_TEXTURE_2D, 0,
GL_RGBA,
textureWidth,
textureHeight,
0,
GL_RGBA,
GL_UNSIGNED_BYTE,
pointerToPixels);
وعند تقديم، تمكن ألفا مزيج:
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
نصائح أخرى
والجواب التي تقدمهاVirne صحيحة، وكنت قادرا على استخدامه لأجهزة الروبوت مع بعض التعديلات الصغيرة. الكائن myImage
اعتدت هو صورة بابوا نيو غينيا القياسية مع الشفافية.
وأنا خلقت نسيج باستخدام هذا:
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, myImage, 0);
و(مثل Virne)، وتمكين مزيج ألفا عند تقديم:
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
gl.glEnable(GL10.GL_BLEND);
لا تنتمي إلى StackOverflow