Вниз
Скачать: 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.009 c
7-59975
URSUS
2003-03-21 12:30
2003.05.19
Интересный глюк!!! Помогите найти решение


1-59654
ND
2003-05-07 11:01
2003.05.19
Вопрос по кодировке текста из DOS - ской в WINDOWS и обратно.


3-59578
BJValentine
2003-04-25 20:09
2003.05.19
ConnectionTimeOut в ADO


14-59917
Nikkk
2003-04-29 16:19
2003.05.19
русификатор для D7


3-59553
leonon
2003-04-25 17:23
2003.05.19
Почему не видно изменений




   Наверх