OpenGLES 2 имеет только один формат текстур с однобитным альфа: GL_UNSIGNED_SHORT_5_5_5_1
, 16-битная текстура RGBA. Если вы используете 15-битный RGB, я бы сказал, что это ваш лучший шанс. Использование сжатой текстуры может работать, а может и не работать лучше.
Для однобитового трафарета есть расширение GL_OES_STENCIL1 , однако на самом деле очень просто использовать одну битовую плоскость в 8-битном трафарете (на самом деле очень немногие используют больше, чем одну битовую плоскость за раз ).
Использование трафарета требует от вас создания, рендеринга и проецирования в RenderBuffer, а затем рендеринга этого RenderBuffer на следующую цель (например, кадровый буфер по умолчанию).
Не уверен насчет вашего варианта использования, но я не могу вспомнить ни одного, где это стоило бы усилий по сравнению с простым броском с 8-битным альфа-каналом, установленным на [0.0,1.0] до конца. Если вам не хватает производительности, придерживайтесь общепринятых решений и позвольте драйверу творить чудеса.