У меня в настоящее время есть текстура, обслуживающая шрифт, который является самым верхним (последним) рендером в OpenGL для iPhone.Текстура представляет собой белый глиф с прозрачной окантовкой.Моя цель состоит в том, чтобы наложить другой цвет на текстуру, эффективно меняя цвет шрифта.
Используя приведенный ниже код, я могу сделать сплошной цвет на текстуре при условии, что для альфа установлено значение 255. Моя цель состоит в том, чтобыУ меня прогрессивный цвет исчезает, поэтому моя цель - отобразить цвет (0,0,255,127).Это должен быть частично прозрачный синий.Однако я много раз пробовал с настройками glTexEnv () и, похоже, не могу сделать наложение не сплошным цветом.
glBlendFunct(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, fontTexture);
glColorub(0,0,255,255);
...
glDrawElements(...);
Я попробовал предложения на вики-странице OpenGL http://www.opengl.org/wiki/Texture_Combiners, под заголовком "Пример: смешивание tex0 и tex1 на основе альфа из tex0" .Также я попробовал идею, найденную здесь OpenGL ES 1.1: Как изменить цвет текстуры без потери яркости? .
Если есть какая-либо настройка, которую я могу получить, чтобы сделать цвет (0,0,255,127)присутствует, не теряя очертания шрифта / символа?
PS.Другая идея состояла в том, чтобы передать предварительно умноженный альфа-цвет (такой как (0,0,255 * (127/256), 127)) для предыдущего примера, но это выглядит не слишком элегантно.
РЕДАКТИРОВАТЬ: простоуточнить, я намерен для текстуры персонажа сохранить полную непрозрачность, просто чтобы изменить цвет наложения.Таким образом, пример должен измениться с полного синего на полностью белый.