Самый простой способ - изменить альфа-значение текстуры на лету. Поскольку вы сообщаете OpenGL о текстуре в какой-то момент, у вас будет растровое изображение в памяти. Так что просто привяжите текстуру к тому же идентификатору текстуры. Если у вас его нет в памяти (из-за нехватки места, поскольку вы используете ES), вы можете снова извлечь текстуру в буфер, используя glGetTexImage () . Это чистое решение.
Операции сохранения / поиска немного дорогостоящие, поэтому вам может потребоваться другое решение. Подумав об этом, вы можете работать с геометрией позади вашей геометрии, отображающей вашу текстуру, или просто работать с материалом / цветом геометрии, которая содержит текстуру. Возможно, вы захотите добавить аддитивное смешение геометрии спины. Использование glBlendFunc
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_DST_ALPHA),
Вы можете "легко" и - что более важно, дешево - достичь желаемого эффекта.