Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Полупрозрачность


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


Наверх

Титульная страница Поиск, карта сайта Написать письмо