![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Полупрозрачность
GameBoy © (2002-12-20 19:14:00)
Приветствую всех. Есть у меня спрайт . Задача - сделать НЕКОТОРЫЕ части этого спрайта полупрозрачными. Использовать группу спрайтов нельзя. Помогите, если знаете как это сделать с использованием DirectDraw.
A_n_t (2003-03-20 17:31:00) [1]
Это не чинится ;)
P.S. DelphiX зашибись!!! - просто не нужно саперной лопаткой уголь добывать - всему свое место.
Mihey (2003-03-20 15:22:00) [2]
Наверное, предыдущий постинг уберут, но соглашусь с kritik по поводу DelphiX, слишком уж хромает в нём альфа-блендинг. Вот бы его кто из сильных мира сего починил - это было бы круто.
kritik (2003-03-20 14:50:00) [3]
Пиздёж и провокация, DelphiX - ГОВНО!!!
Antx (2003-01-08 19:07:00) [4]
Можно сделать 2 спрайта: один-полупрозрачные части, другой-непрозрачные. И выводить отдельно, один -Draw, другой-AlphaDraw.
GameBoy (2002-12-23 23:19:00) [5]
Отлично. Обязательно посмотрю.
SI-riuss (2002-12-23 16:25:00) [6]
Качай компоненту на http://www.g32.org/graphics32/index.html, там есть демки - можешь посмотреть - то, что нужно.
Mirovodin (2002-12-22 13:23:00) [7]
Именно попиксельно. Это касается чистого 2D, для 3D свои способы.
Джастер (2002-12-22 01:44:00) [8]
http://nehe.gamedev.net
Ev_genus (2002-12-22 01:21:00) [9]
>>это сильно отразится на быстродействии
Да не то слово. Лучше перейти в 3д и юзать ID3DXSprite. Пример есть на http://hexe.gamedev.net
GameBoy (2002-12-21 14:05:00) [10]
Вот эта формула: Цвет альфа = Alpha*SCR+(1-Alpha)*DSTопределяет цвет пикселя полупрозачного участка картинки при отрисовке. Получается, что я должен выводить картинку попиксельно, проверяя, принадлежит ли пиксель к полупрозрачному участку. А в методе DirectDraw используется процедура dxrCopyRectBlend, копирующая прямоугольную область. Если я же реализую попиксельный вывод с проверкой, то это сильно отразится на быстродействии.
Вероятно, все же придется использовать пару спрайтов - полупрозрачного и непрозрачного.
Mirovodin (2002-12-20 23:42:00) [11]
Альфа канал.
Цвет альфа = Alpha*SCR+(1-Alpha)*DST
Alpha - коэф-т прозрачности (0...1)
SCR - цвет источника
DST - цвет приемника
Посмотри, как это реализуется в DelphiX мотод DrawAlpha