Вниз
Скачать: CL | DM;

как исправить?   Найти похожие ветки 

 
Карлсон ©   (2003-04-29 20:41) [0]

в конференции "Игры"
есть пост некоего mad по поводу эффекта Fade на ассемблере.
он приводит код:

unit DDFade;

interface

uses DirectDraw;

procedure FadeIn (Target:IDirectDrawSurface7; Step:Byte);

implementation

procedure FadeIn (Target:IDirectDrawSurface7; Step:Byte);
//Fade - эффект в режиме 32bpp с ускорением MMX
var
Desc:TDDSurfaceDesc2;
ReAddress:Integer;
Mask:Cardinal;
begin
Step:=Lo (Step);
Mask:=Step+Step shl 8+Step shl 16;
Target.Lock (nil,Desc,nil,nil);
ReAddress:=Desc.lPitch-Desc.dwWidth*4;
asm
push edi
mov edi,Desc.lpSurface
mov ecx,Desc.dwHeight
movd mm1,Mask
@Line: push ecx
mov ecx,Desc.dwWidth
@Pixel: movd mm0,[edi]
subusb mm0,mm1 //addusb mm0,mm1 для FadeOut
movd eax,mm0
stosd
loop @Pixel

pop ecx
add edi,ReAddress
loop @Line

emms
pop edi
end;
Target.UnLock (nil);
end;

end.


в коде неправильна строка Target.Lock (nil,Desc,nil,nil);
а также компилятор ругается на subusb mm0,mm1
с ассемблером я не знаком, но очень хочется увидеть получающийся эффект, а также узнать, насколько эффективен данный код по сравнению с обычным (например вот тут http://delphimaster.net/view/9-1050737499/)
помогите пожалуйста!


 
NetBreaker666 ©   (2003-04-29 20:55) [1]

psubusb mm0,mm1
А вот с lock ничего поделать не могу :(



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
1-59790
Apachi
2003-05-07 06:29
2003.05.19
Создание компонента


14-59925
dbDev
2003-04-28 10:23
2003.05.19
Компоненты для доступа к dbf & db таблицам


14-59851
Fenik
2003-04-30 21:00
2003.05.19
Люди! Помогите взять интеграл.


14-59874
Вит
2003-04-29 10:23
2003.05.19
Работа для программеров


1-59796
VVR
2003-05-06 14:46
2003.05.19
Проблемы с подключением к Word




   Наверх