PMG
https://forum.pmg.org.ru/

Наложение нескольких текстур RGBA
https://forum.pmg.org.ru/viewtopic.php?f=1&t=8021
Страница 1 из 1

Автор:  Гена [ 13 июл 2010 22:56 ]
Заголовок сообщения:  Наложение нескольких текстур RGBA

Вопрос для профессионалов. Нигде не нахожу подсказки.
Несколько текстур в формате RGBA (RAW+Alpha) могут перемещаться и возможно накладываться друг на друга. Цвет и прозрачность на каждой текстуре одинаковые.

Вопрос: с помощью каких средств OpenGl можно получить изображение, у которого прозрачность и цвет в накладываемых областях будет теми же, что и в исходных текстурах.

P.S. Очевидный вариант с проверкой и переписыванием массивов не годится из-за нехватки времени.

Автор:  MagicWolf [ 14 июл 2010 12:52 ]
Заголовок сообщения:  Re: Наложение нескольких текстур RGBA

Не понимаю что значит "Цвет и прозрачность на каждой текстуре одинаковые." - тогда текстуры должны быть одинаковые!?

Автор:  Гена [ 15 июл 2010 07:50 ]
Заголовок сообщения:  Re: Наложение нескольких текстур RGBA

Здраствуйте Сергей
Предположим есть 2 квадрата, закрашенные наполовину красным цветом с прозрачностью 0.5.
Один квадрат повернут на 90 градусов. При наложении одного квадрата на другой одна четверть остается белой, а три четверти должны быть одинаковыми, т.е. красными с прозрачностью 0.5.
В этом заключается мой вопрос.
Как Вы понимаете, сейчас я получаю квадрат разбитый на 4 четверти: белый, два красных с прозрачностью 0.5 и красный, с прозрачностью меньшей чем 0.5.
С уважением Гена

Автор:  MagicWolf [ 15 июл 2010 08:56 ]
Заголовок сообщения:  Re: Наложение нескольких текстур RGBA

Почему три четверти одинаковые? Только две, а одна по идее должна быть менее прозрачной. Прав я?

Теперь мне не понятен вопрос. Что значит с помощью каких "средств"? Функций?

Что значит "прозрачность и цвет в накладываемых областях будет теми же, что и в исходных текстурах"? Если ты что-то накладываешь, то заведомо искажаешь исходную область, как она будет той же? Только если ты наложешь, что-то противоположное полученному результату. Так что ли?

Автор:  Гена [ 18 июл 2010 09:58 ]
Заголовок сообщения:  Re: Наложение нескольких текстур RGBA

Уважаемый Сергей!
Наш диалог напоминает сказку про белого бычка.
Вопрос задан: Как сделать, чтобы пересекающиеся области не выделялись на рисунке.
Я не специалист в OpenGl и хотел бы сэкономить время, послав сюда вопрос, а не тратить его.
С уважением Гена.

Автор:  MagicWolf [ 19 июл 2010 09:04 ]
Заголовок сообщения:  Re: Наложение нескольких текстур RGBA

Ну вот теперь вопрос мне понятен. Сам такого эффекта не получал, так что могу только по гадать...

Для настройки смешивания используются следующие функции: glBlendFunc, glBlendFuncSeparate, glBlendEquation, glBlendColor. Можно попробывать настроить с помощью них. Но мне кажется в данном случае лучше использовать буфер шаблона или накопителя с той целью, чтобы маскировать уже закрашенную область и не выводить в нее повторно. Например, можно посмотреть здесь: http://pmg.org.ru/nehe/nehe26.htm

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/