Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.20;
Скачать: CL | DM;

Вниз

алгоритм альфа-блендинга   Найти похожие ветки 

 
Kolya ©   (2002-10-17 23:26) [0]

День добрый! Пожалуйста помогите, мне срочно нужен алгоритм альфа-блендинга 16/32-битных поверхностей в 2D режиме- можно на С++ или Delphi. Но если не он сам, то подскажите где найти про него инфо?
Спасибо!


 
MBo ©   (2002-10-17 23:34) [1]

алгоритм очень простой:
результат=Mask*(1-alpha)+Src*alpha

загляни на rsdn.ru


 
Kolya ©   (2002-10-18 03:05) [2]

хех, и из- за таково алгоритмика столько шума :)
Спасибо большое!


 
Kolya ©   (2002-10-19 04:11) [3]

Сидел думал думал думал и ничего не надумал..
эта формула до меня как-то не доходит. У нас ведь есть RGB-компоненты исходной точки, RGB-компоненты накладываемой точки и степень прозрачности. Я так понимаю, что выглядеть должно, в соотв. с этой формулой, примерно так:
R_result=Dest_R*(1-alpha)+Src_R*alpha;
G_result=Dest_G*(1-alpha)+Src_G*alpha;
B_result=Dest_B*(1-alpha)+Src_B*alpha;
где R(G, B)_result - получаемый пиксел, Dest_R(G, B) - накладываемый пиксел, Src_R(G, B) - исходный пиксел, alpha - степень прозрачности. Я правильно понял? Еще, я слышал, что это дело как-то под MMX оптимизируется... узнать бы как!


 
Kolya ©   (2002-10-19 04:12) [4]

да, я заглянул на rsdn.ru, но по этой теме там ничего не нашел, как ни искал... или искал плохо? MBo, не мог бы сказать поподробней, где инфу найти?


 
Asteroid ©   (2002-10-19 20:17) [5]

Могу скинуть посбие по MMX


 
Gandalf   (2002-10-19 21:51) [6]

Кинь и мне - хорошая дока всегда полезна.


 
Kolya ©   (2002-10-20 13:13) [7]

Asteroid кинь пожалуйста, будь любезен


 
Asteroid ©   (2002-10-20 22:48) [8]

Звиняйте за задержку - у меня инета не было...:(
Комментарий: собственно MMX - набор доп. команд процессора, поэтому все их придется писать в asm...end. И еще: если напишете алгоритм именно blend, скинте please.
Пример сложения двух цветов ( цветов, а не чисел):

function ColourAdd( d1, d2: Cardinal ): Cardinal
begin
asm
movd MM0, d1
movd MM1, d2
paddusb MM0, MM1
movd Result, MM0
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.03.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-64068
Юный_программер
2003-03-09 20:01
2003.03.20
Не подскажите есть ли функция в Делфях чтоб она возвращала значен


3-63938
B M P
2003-03-03 11:18
2003.03.20
Интерфейс DBGrid


14-64384
Igel
2003-03-05 13:38
2003.03.20
Компоненты для просмотра SLB-файлов.


1-64089
UDS
2003-03-10 13:25
2003.03.20
Как вытянуть строку из текстового файла?


14-64337
Sanyok
2003-03-04 19:11
2003.03.20
Как правильно установить делфи для всех пользователей на 2000?