Суббота, 20.04.2024, 14:45Главная | Регистрация | Вход

Меню сайта

Форма входа

Приветствую Вас Странник!

Друзья сайта

Наш опрос

Какая у вас операционная система?
Всего ответов: 95

Статистика

Смешать два цвета - ФорумСмешать два цвета - Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Последние обновления форума

  • Какой антивирус лучше? (1)
  • Орда (5)
  • Орда 2 (3)
  • Canvas Studio =)) (0)
  • aimp (0)
  • Вариант запустить старые игры на Windows XP (37)
  • Кто что слушает? (0)
  • ЧИТКА (4)
  • Fire Wheels (4)
  • RusFaq (0)
    • Страница 1 из 1
    • 1
    Форум » Программирование игр » Delphi » Смешать два цвета
    Смешать два цвета
    KostiaДата: Понедельник, 10.03.2008, 13:28 | Сообщение # 1
    Киллер
    Группа: Проверенные
    Сообщений: 39
    Репутация: 1
    Статус: Offline
    В играх часто используется альфа смешивание цветов, но в GDI или в DirectDraw нет специальных функций которые бы позволили задать цвету альфу для каждого пикселя и программистам приходится делать все это вручную! Как я уже сказал, альфа используется в игра, а именно если нужно чтобы что-то появлялось из вне или сделать туман.… На счет DirectDraw я наврал, там можно сделать картинку полупрозрачной и ее вывод будет происходить на аппаратном уровне это намного быстрее но вы лишаетесь многих вкусностей, допустим вам нужно задать альфу не все картинке а плавное перетекание или сделать так чтобы картинка появлялась по спектрам цвета, сначала красный, далее зеленый и синий сделав как бы мозаику, но вам придется ради этого пожертвовать скоростью. В этой теме я приведу пример на канве, фон, на котором будет летать картинка то, исчезая, то, появляясь, думаю, цель ясна!
    Я любитель оптимизации и чтобы сцена долго не рисовалась мы все цвета фона и рисунка занесем в двухмерный массив! Рисовать будем в памяти, нарисуем фон и в нужных координатах поставим смешанный цвет!
    Прикрепления: 2908607.rar (187.5 Kb)
     
    IvinДата: Суббота, 15.03.2008, 19:22 | Сообщение # 2
    Admin
    Группа: Администраторы
    Сообщений: 178
    Репутация: 7
    Статус: Offline
    Kostia, можно еще ускорить этот код.
    Причо всего одной строчкой.
    buf.PixelFormat:=pf24bit;
    При 70 FPS после добавлении этой строки выдает 90 FPS.
     
    Форум » Программирование игр » Delphi » Смешать два цвета
    • Страница 1 из 1
    • 1
    Поиск:

    Copyright MyCorp © 2024 | Хостинг от uCoz