Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.19;
Скачать: 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 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.007 c
9-59529
Джастер
2002-12-05 20:55
2003.05.19
Advanced OpenGl for Delphi by Krasnov


1-59767
ЧР
2003-05-06 16:36
2003.05.19
что надо сделать чтобы кнопки меню отображались как у XP


3-59586
msoftware
2003-04-27 05:44
2003.05.19
Передача Хэндла Б.Д Interbase DLL


3-59606
msoftware
2003-04-28 16:22
2003.05.19
Проблема с поиском записей


14-59907
Fenik
2003-04-28 00:18
2003.05.19
Прошу у всех прощения!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский