Какой лучший выбор при попытке замаскировать текстуру , например ColorSplash или другие приложения, такие как iSteam и т. Д.?iPhone OpenGL ES Texture2D Masking
Я начал изучать OpenGL ES как ... 4 дней назад (я полный новобранец) и попытался следующий подход:
1) Я создал цветной Texture2D, черно-белую версию первого текстуры и третий Texture2D называется маска
2) Я также создал Texture2D для кисти ... что оттенки серого и это непрозрачные (щетка = черный = 0,0,0,1 и окрестности = белый = 1 , 1,1,1). Мое намерение состояло в том, чтобы создать сглаженную кисть с мягкими краями но сейчас
3) Я искал для маскировки техники в Интернете я в порядке с нормальным и нашел этот учебник ZeusCMD - Проектирование и учебники развития: OpenGL Учебники ES по программированию - Маскировка о маскировке. В учебнике рассказывается, как использовать смешение для достижения маскирования ... сначала нарисовать цветной, затем маску с glBlendFunc (GL_DST_COLOR, GL_ZERO), а затем оттенки серого с glBlendFunc (GL_ONE, GL_ONE) ... и это дает мне что-то близкое к что я хочу ... но не совсем то, что хочу. В результате маскируется, но это как-то повышенной яркости-эд
4) Для нанесения на текстуру маски я использовал дополнительный буфер кадра объект (FBO)
Я не очень доволен результатом изображения (overbright- ed) , а также скорость, достигнутая этим методом. Я думаю, что нормальный способ должен был нарисовать непосредственно на оттенке серого (overlay) texture2D, влияющем на , только это альфа-канал в тех местах, где попадает кисть. Есть ли быстрый способ достичь этого? Я много искал и никогда не получал ответ , который ясен и понятен. Затем в основном рисовальном контуре I можно было нарисовать только цветную текстуру, а затем смешать оттенки серого на столе с помощью glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA).
Я просто хочу научиться использовать OPENGL ES, и это заставляет меня гайки, потому что я не могу заставить его работать правильно. Совет, ссылка на учебник будет высоко оценена.