![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| АлексейX86 |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 7.2.2013 Репутация: нет Всего: нет |
Доброго времени суток.
Пишу простенький игровой движок в консоли (ASCII графика) , и появилась такая идея сделать алгоритм освещения в графическом движке. Вывод графики идет с помощью :
Идея освещения в том , что бы цвет char'а был суммой двух (или больше) других цветов : То есть : черный + белый = серый , и также что бы можно было менять интенсивность цвета - черный*0.2 + белый*0.8 = светло-серый. Цвет char'а задаеться как WORD Attributes из CHAR_INFO , но вот как сдлеать смешение цветов у меня не очень получаеться. Для начала я делаю допустим константы : greencolor , redcolor , и т.д , и тогда у меня цвет должен задаваться так :
Но как сделать саму операцию смешения/суммы двух (или больше) цветов у меня не очень получаеться (одная из проблем из-за того что при указании цвета сразу ижет указание цвета фона и цвета символа). Спасибо за помощь. Вот примеры ASCII освещения которое я хочу сделать : (хотелось бы сделать освещение через смешение цветов , а не через встроенные градации цветов консоли) http://s2.ipicture.ru/Gallery/Viewfull/21517253.html - (идеальный для меня алгоритм) http://s2.ipicture.ru/Gallery/Viewfull/21517236.html - (тоже отличные плавные переходы цветов) http://s2.ipicture.ru/Gallery/Viewfull/21517239.html http://s2.ipicture.ru/Gallery/Viewfull/21517238.html |
||||
|
|||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
В текстовом режиме до Vist'ы у Вас мало что получится, там 4-битный атрибут цвета в системную палитру. После Vist'ы, есть интересная команда SetConsoleScreenBufferInfoEx, которой можно выставить эту палитру (CONSOLE_SCREEN_BUFFER_INFOEX::ColorTable). Вот тут уже можно разгуляться. До Vist'ы это решалось переходом в графический режим. -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |