Я создаю растровое изображение для отображения текста с помощью OpenGL, используя Cairo / Pango. Я создаю растровое изображение в виде RGBA с прозрачным фоном и текстом черного или белого цвета. (Предположим, черный.)
Если я загружаю это растровое изображение как текстуру OpenGL и отображаю его, он отображается как черный текст или белый текст, как и ожидалось.
Я бы хотел иметь возможность раскрасить текст, используя только оригинальную текстуру, но с OpenGL, заботящимся о раскраске.
Предпочтительно, я бы хотел использовать glColor для установки цвета, но я готов использовать glBlendColor или GL_TEXTURE_ENV_COLOR.
Однако я не могу заставить работать эти опции.
Я пробовал то, что кажется бесчисленным количеством комбинаций
- белый текст или черный текст
- включить смешивание или использовать GL_TEXTURE_ENV_MODE's GL_BLEND
- попробовать GL_MODULATE, GL_REPLACE и GL_COMBINE
- пробовать различные комбинации glBlendFunc
Я искал в Интернете и читал спецификацию в течение нескольких часов, и я действительно на грани веревки.
Может кто-нибудь указать мне правильное место, чтобы получить ответ на этот вопрос?