Получить текущий цвет - PullRequest
       2

Получить текущий цвет

9 голосов
/ 27 октября 2010

Я использую glColor4f(1.0f, 1.0f, 1.0f, alpha_);, чтобы установить прозрачность для примитивов, которые я рисую.

Однако я бы хотел прочитать текущее альфа-значение opengl.Это возможно?

например

float current_alpha = glGetAlpha(); //???
glColor4f(1.0f, 1.0f, 1.0f, alpha_*current_alpha);

Ответы [ 2 ]

12 голосов
/ 27 октября 2010

Либо вы сохраняете последнее альфа-значение, отправленное вами с помощью glColor4f, либо вы используете:

float currentColor[4];
glGetFloatv(GL_CURRENT_COLOR,currentColor);
1 голос
/ 27 октября 2010

Вы имеете в виду альфа-значение фрагмента, на котором рисуете (что объясняет, почему вы хотите alpha_ * current_alpha)? Если это так, помните, что чтение фрагмента из конвейера стоит дорого .

Если вы выполняете рендеринг назад, попробуйте использовать трюк GL_SRC_ALPHA + GL_ONE_MINUS_SRC_ALPHA .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...