iPhone OpenGL - Как градиент затухания текстуры? - PullRequest
2 голосов
/ 21 августа 2010

Я хочу настроить отражение от примера кода FlowCover (римейка Cover Flow). Теперь отражение (текстура) является только прозрачным, но я хочу, чтобы у него был градиент, чтобы текстура стала полностью прозрачной.

Как бы вы достигли этого эффекта с OpenGL? Это код, который обрабатывает текстуры.

glPushMatrix();
glBindTexture(GL_TEXTURE_2D,fcr.texture);
glTranslatef(trans, 0, 0);
glScalef(sc,sc,1.0);
glMultMatrixf(m);
glDrawArrays(GL_TRIANGLE_STRIP,0,4);

// reflect
glTranslatef(0,-2,0);
glScalef(1,-1,1);
glColor4f(0.5,0.5,0.5,0.5);
glDrawArrays(GL_TRIANGLE_STRIP,0,4);
glColor4f(1,1,1,1);

glPopMatrix();

Любые подсказки или ключевые слова приветствуются.

Большое спасибо.

Ответы [ 3 ]

1 голос
/ 27 августа 2010

Хорошая идея рисовать отражение градиентным способом.^ _ ^

Я думаю, вы можете поставить источник света и изменить нормальный вектор вида проекта.Источник освещения создаст эффект градиента.

1 голос
/ 04 сентября 2010

Возможно, вы захотите взглянуть на мультитекстурирование. Вы можете комбинировать базовую текстуру с текстурой градиента таким образом, чтобы использовать цвет первого и альфа-значения второго. Посмотрите на команду glTexEnvi.

1 голос
/ 21 августа 2010

Мое решение этой проблемы состояло в том, чтобы удалить отражение openGL и направить изображение с отражением и градиентом к FlowCower. Здесь - хороший пример создания отражения изображения.

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