-
Data: 2012-03-30 21:26:16
Temat: Re: reczne rotowanie bitmap
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 30.03.2012 19:59, f...@g...pl wrote:
> <f...@g...pl> napisał(a):
>
>> 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
>>
>>
>>
> czyli (?) -
>
> musze przepuscic (logiczne) rogi
> sprite'a przez oryginalna (podwojna)
> transformacje (na sinusach) -
Transformację robisz RAZ. Potem robisz mnożenie przez współczynniki.
>
> - bede miec wierzcholki A B C w
> koordynatach fiz - sprawdzic czy
> to lezy w zakresie widzialnym -
Dlatego liczy się w 2 stronę - iterujesz tylko po zakresie widzialnym i
uwzględniasz co zrobić jak wychodzisz poza teksturę - zawinięcie,
przycięcie, odbicie.
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 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
- 31.03.12 14:21 bartekltg
- 31.03.12 14:31
- 31.03.12 15:26 yamma
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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
Najnowsze wątki
- 2024-12-27 Chiński elektrolizer tester wody
- 2024-12-27 Rzeszów => System Architect (background deweloperski w Java) <=
- 2024-12-27 Kraków => Application Security Engineer <=
- 2024-12-27 Gorzów Wielkopolski => Konsultant wdrożeniowy Comarch XL/Optima (Ksi
- 2024-12-27 Wrocław => Solution Architect (Java background) <=
- 2024-12-27 kladka Zagorze
- 2024-12-27 Poznań => Key Account Manager (ERP) <=
- 2024-12-27 Gdańsk => Full Stack .Net Engineer <=
- 2024-12-27 Katowice => Programista Full Stack .Net <=
- 2024-12-27 Opole => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-27 Gdańsk => Delphi Programmer <=
- 2024-12-27 Warszawa => Administrator Bezpieczeństwa IT <=
- 2024-12-27 zasniecie
- 2024-12-27 Kraków => Key Account Manager <=
- 2024-12-26 zapora Zagorze