سؤال

كنت أتساءل كانت أفضل طريقة لعكس البكسلات الملونة في المخزن المؤقت للإطار. أعلم أنه من الممكن القيام به glReadPixels() و glDrawPixels() لكن أداء تلك المكالمات كبيرة جدًا.

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

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

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

المحلول

أعط شيئًا مثل هذه تجربة:

glEnable(GL_COLOR_LOGIC_OP);
glLogicOp(GL_XOR);
// render geometry
glDisable(GL_COLOR_LOGIC_OP);

نصائح أخرى

ماذا عن:

glEnable (GL_BLEND); 
glBlend (GL_ONE_MINUS_DST_COLOR, GL_ZERO);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top