Вниз
Скачать: 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.017 c
3-59639
Evyshka
2003-04-29 09:43
2003.05.19
Помогите пожалуйста составить запрос по количеству


3-59600
Azazello
2003-04-28 14:10
2003.05.19
Текст из TRichEdit.


3-59615
Dimaz-z
2003-04-28 20:36
2003.05.19
DBGrid & Scroll


6-59835
SLYplix
2003-03-20 16:06
2003.05.19
Как узнать состояние Интернет?


1-59771
alexus
2003-05-05 15:19
2003.05.19
запуск exe-файла из приложения




   Наверх