1

Я работаю над проектом, который находится в GLES 1.1. Это должно быть GLES 1.1.Умножая каждый пиксель на его альфа-Open GLES 1.1 (премультипликация), а затем обратный

Но он должен сделать некоторое умножение, т. Е. Получить каждый пиксель и изменить его из rgba = r * a, b * a, g * a, a. А потом переверните его.

Если бы у меня был доступ к шейдерам, это было бы проблемой, но, конечно же, я был бы 1.1.

Выполнение этого с помощью readpixels, а затем выполнение его на процессоре и его возврат ужасно медленно, поэтому я пытаюсь подумать о том, как я могу обмануть.

Теперь один способ, которым я мог бы сделать это путем предварительного умножения, воспользовавшись glTexEnvi

glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE); 

glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE); 

glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE0); 
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR); 

glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_TEXTURE1); 
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_ALPHA); 

но потом, мне нужно отменить операцию. Для жизни меня я не могу придумать, как это изменить.

Если все имело такую ​​же альфу, я мог злоупотреблять функциями glLighting, но, к сожалению, они этого не делают.

У меня такое чувство, что я немного обречен.

Возможно, я мог бы просто использовать общие контексты и сделать фрагмент GLES 2.0 ... но я чувствую, что придет со своими собственными накладными расходами

если у кого есть какие-либо идеи или мысль по этому поводу вообще я был бы весьма признателен слыша их!

ответ

0

Не удалось найти ответ самостоятельно или здесь. Это было какое-то время, поэтому кому-то интересно ...

В конце концов мне удалось убедить «полномочия, которые будут», чтобы я мог преобразовать проект в GLES 2.0. Этот процесс на самом деле не был очень болезненным (к счастью), и это было очень полезно.

Вышеупомянутая операция была успешно выгружена на GPU вместе с несколькими другими, и производительность была увеличена с 1 до 60 + ... так что стоит того :).

Его также стоит отметить, что гибридный подход был бы достоин того, если переписывание не было опцией