Re: DirectDraw
От: Igor Karablin Россия  
Дата: 26.03.03 06:53
Оценка: 14 (1)
Здравствуйте, Rota, Вы писали:

R>Господа, столкнула меня жизнь с DirectDraw. Есть пара вопросов:

R>1) Как известно, мы можем получить контекст объекта директдро и рисовать там средствами ГДИ. Это быстрее, чем рисовать так в обычном окне? Медленнее, чем рисовать прямо в поверхности (точки)? Инфа по этому поводу противоречива...
Скажу один факт — вывод количества fps на поверхность DDraw средствами gdi может замедлить эти самые fps примерно в два раза.

R>Нет ли готовой ф-и или быстрого алгоритма изменения яркости всех точек поверхности?


В полноэкранном режиме можно воспользоваться функциональностью IDirectDrawGammaControl или IDirectDrawColorControl. Причем первый интерфейс поддерживается чаще чем воторой.

В оконном режиме — только ручной обработкой. Основной смысл — для корректного изменения яркости нужно RGB перевести в HSB (Hue, Saturation, Brightness) изменить B-составляющую и выполнить обратное преобразование. Ну а дальше можно попробовать где-то ввести оптимизацию (например табличная подстановка) — но это все, естественно, для определенных частных случаев.

Готовой функции, к сожалению, нет. Было бы больше свободного времени, потерзал бы гугль, а так как нет — возлагаю эту задачу на тебя

R>Спасибо за внимание

Всегда пожалуйста
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.