Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прозрачность текстур с помощью маски (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]

...или подскажите другие способы, чтобы добиться прозрачности...


Наверх

Титульная страница Поиск, карта сайта Написать письмо