![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прозрачность текстур с помощью маски (OpenGL) [D6, WinXP]
Agent[007] © (2007-01-16 16:16:00)Если кто помнит, то на GameTutorials лежал подобный пример, но сейчас там все платно... Если у кого остался, или кто помнит, то напишите PLZZZ сам этот кусочек где накладываются текстуры Mask и сам Image... PLZZZ...
Rial (2007-01-17 11:04:00) [1]В обычном варианте текстура у тебя так грузится , наверное:
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, Width, Height, GL_RGB, GL_UNSIGNED_BYTE, pData);
А ты грузи вот так:
gluBuild2DMipmaps(GL_TEXTURE_2D, 4, Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, pDataAlpha);
Только теперь у тебя есть pDataAlpha, который получаем так: первые 3 элемента
такие же, как и в обычном pData. А четвертая составляющая - прозрачность.
Ее получаешь каким угодно образом - либо загрущая из отдельной черно-белой
картинки коэффециенты прозрачности, либо получая по формуле из цветов текуще картинки.
Например:
pDataAlpha^[N * 4 + 3]:=(pDataAlpha^[N * 4 + 0] * kR + pDataAlpha^[N * 4 + 1] * kG + pDataAlpha^[N * 4 + 2] * kB)/ kAll;
Константы - параметры функиции загрузки, по умолчанию 1.0, 1.0, 1.0, 2.0
Agent[007] (2007-01-17 09:31:00) [2]...или подскажите другие способы, чтобы добиться прозрачности...