| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Цветной альфаканал. |
| Автор: atavinta 31.1.2008, 15:12 |
| Есть объект, в нем окно. Надо окно закрыть цветным стеклом. Для определнности будем счтитать стекло зеленым. Обычный альфакал дает просто вес участия текстуры в цвете картинки. Надо же сдлать стакло, прозрачность которого будет зависеть от того, какого цвета объекты находятся за ним. Для зленых объектов оно должно быть полупрозрачным, а для красных и синих превращаться в непрозрачное темнозеленое. Причем, такая зависимость должна поддерживаться отдельно для каждого пиксела. То есть надо учесть возможность одновременного попадания в окно зеленых и красных объектов. Как это сделать короче? Как с меньшим расходом мапяти? Как с меньшим расходом процессорного времени? Как проще на по мнению автора ответа? |
| Автор: Alexeis 31.1.2008, 15:38 |
| Что-то похоже на это? http://forum.vingrad.ru/index.php?act=Attach&type=post&id=1163848 |
| Автор: atavinta 7.2.2008, 04:42 |
| Не очень. Возьми в реале настоящее цветное стекло или цветную прозрачную прленку и посмотри через нее на объекты того же цвета и какого-нибудь другого. Потом попробуй объяснить мне, как это нарисовать. Нужно не наложение цветной картинки на цветную, а именно рендеринг прохождения объекнотого луча через фильтр различно ослабляющий разные спектральные компоненты этого луча. Добавлено через 5 минут и 53 секунды В слудующий раз дай ссылку, куда прислать снимок. |
| Автор: Rickert 7.2.2008, 07:57 |
| atavinta, ну, если говорить о лучах света, то это тебе надо смотреть статьи на тему ray-traycing. А вообще, такие вещи делаются через шейдеры. GLSL - для OpenGL HLSL - для DirectX |
| Автор: Alexeis 7.2.2008, 10:51 |
Ipicture.ru, Imageshack.us atavinta, ну тогда это более сложная задача, тут прийдеться определиться по поводу источника освещения (рассеяный свет или источник), типа поверхности, учитывать или нет вторичные (отраженные лучи), да вообще это 3D картинка или просто набор плоскостей? |
| Автор: atavinta 18.2.2008, 13:15 |
| Конечно 3D. Вторичные лучи учитывать только как объектные, то есть только в направлении в глаз. Освещение смешанное (рассеянное + направленное, часить источников перед стеклом, остальные - за). |