-
Data: 2012-03-30 19:10:36
Temat: Re: reczne rotowanie bitmap
Od: " " <f...@g...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]bartekltg <b...@g...com> napisał(a):
> W dniu 2012-03-30 18:27, f...@g...pl pisze:
>
> >>
> > nie tak samo szybkie tylko tak samo wolne (zobacz jak to dziala pod
>
> No widzisz, pozbÄdziesz siÄ artefaktĂłw a szybkoĹÄ (ktĂłrÄ jak
> naprawiÄ teĹź mĂłwiĹem) pozostanie osobnym problemem.
>
> > linkiem wyzej) - pod drugim linikiem jest dyskusja nt czegos co
> > w demoscenie nazywa sie rotozoomer - bede musiec sie troche
> > pomeczyc i zobaczyc czy uda mi sie to zmusic do dzialania
>
> ZerknÄ Ĺem. RobiÄ tak jak mĂłwiĹem:
>
> "
> ARGB_Img1[ti] = ARGB_Img0[(y0>>10)*ImW+(x0>>10)];
> "
>
> ti to "iterator" jadÄ cy po obrazku odcelowym.
> Obliczane wspolrzÄdny y0 i x0 na obrazie-ĹşrĂłdle
> uaktualniane sÄ przez dodawanie i trzymane jako staĹy przecinek.
>
>
to albo niezbyt wyraznie albo jednak nie o tym, bo to nie
jest po prostu transformacja na cos sin /-sin cos tylko w druga
strone -
tutaj sie transformuje tylko narozne punkty i liczy proste dx dy ,
chyba bedzie dzialac bo
float dxdx = (Bx-Ax)/200.0,
dydx = (By-Ay)/200.0,
dxdy = (Cx-Ax)/200.0,
dydy = (Cy-Ay)/200.0;
long offs = 0;
// loop for all lines
for (int j=0; j<200; j++)
{
Cx = Ax;
Cy = Ay;
// for each pixel
for (int i=0; i<200; i++)
{
unsigned color = sprites_buf_[(int)Cy][(int)Cx];
int adr = ((50+j)*CLIENT_X+i+50);
((unsigned*)pBits)[adr] = color;
// interpolate to get next texel in texture space
Cx += dxdx;
Cy += dydx;
}
// interpolate to get start of next line in texture space
Ax += dxdy;
Ay += dydy;
}
}
zaczyna mi dzialac - co prawda tylko na floatach a w oryginale jest
na intach (na intach nie chialo zadzialac a nie petrzylem wiecej)
i bede sie musiec nabiedzic nad tym ze ja mam podwojna
translacje-rotacje a nie tylko pojedyncza (z lekka mnie glowa
rozbolala wiec moze jutro) - ale chyba powinno dzialac i raczej
powinno byc zbacznie szybciej przez te dx/dy
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 30.03.12 19:59
- 30.03.12 21:23 Michoo
- 30.03.12 21:26 Michoo
- 31.03.12 01:12
- 31.03.12 08:25
- 31.03.12 09:33
- 31.03.12 11:08 yamma
- 31.03.12 11:58 M.M.
- 31.03.12 12:03 Marcin Biegan
- 31.03.12 12:45 M.M.
- 31.03.12 13:54
- 31.03.12 14:04 bartekltg
- 31.03.12 14:14 bartekltg
- 31.03.12 14:18 bartekltg
- 31.03.12 14:19 Sebastian Biały
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-06 Nowy sprytny tel. z Androidem 13. - OSTRZEŻENIE!!!
- 2024-06-08 czarny punkt - Małdyty
- 2024-06-08 Protesters attempt to storm Tesla's factory in Germany
- 2024-06-07 przydałaby się grupa o wszystkim
- 2024-06-07 Rowerzyści! Co się z wami dzieje?!
- 2024-06-07 Peltier
- 2024-06-07 Jakie znacie działające serwery grup dyskusyjnych?
- 2024-06-07 nerwica lękowa
- 2024-06-07 Jakie znacie działające serwery grup dyskusyjnych?
- 2024-06-07 Jakie znacie działające serwery grup dyskusyjnych?
- 2024-06-08 Warszawa => Spedytor międzynarodowy <=
- 2024-06-08 Warszawa => QA Manager <=
- 2024-06-08 Warszawa => Projektant/Programista React Native <=
- 2024-06-08 Zabrze => Junior HelpDesk <=
- 2024-06-08 Warszawa => Business Development Manager <=