![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
Wolf |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 9.6.2006 Где: Нижневартовск Репутация: нет Всего: нет |
Доброго времени суток!
У меня возник один вопрос: Как на плоскость наложить текстуру, причём чтобы плоскость отображалась (её прозрачность) в соответствии с альфа каналом. Файл считываю из 32 битного BMP. У такого файла байты цветов идут в таком порядке B G R A. Всё учтено.
функция прекрасно работает, выделяет память, а дальше в какой последовательности должны ити команды. У меня текстура накладывается, но альфа канал игнорируется. GL_BLEND включал... В чём же проблема? P.S. Функцию привёл потому, что надо сделать без использования масок и прочих отдельных файлов... вот ещё два кусочка, которые в моей программке отвечают за инициализацию текстуры и инициализацию дисплейного списка, отрисовывающего плоскость
программирую Visual C++ WinAPI |
||||
|
|||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 2 Всего: 112 |
На первый взгляд - в glTexImage2D указано что используется 3 компоненты, а надо 4 (это про третий параметр)...
PS: Кстати, есть формат GL_BGRA_EXT (не нужно будет преобразование).. -------------------- С уважением, г-н Посол. |
|||
|
||||
Wolf |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 9.6.2006 Где: Нижневартовск Репутация: нет Всего: нет |
p0s0l, Примного благодарен, исправил, вот теперь всё прекрасно
![]() |
|||
|
||||
ynter |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 27.6.2006 Репутация: нет Всего: нет |
Доброго времени суток!
Но насколько я понимаю это помогает сделать текстуру более бледной, но ни как ни прозрачной по отношению к фону? А меня как раз интересует второе... |
|||
|
||||
Wolf |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 9.6.2006 Где: Нижневартовск Репутация: нет Всего: нет |
ynter, Как раз речь и идёт об изменение прозрачности относительно фона, причём изменить прозрачность можно каждой точки текстуры. Для этого и нужен альфа канал.
|
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |