-
Data: 2012-03-31 01:12:07
Temat: Re: reczne rotowanie bitmap
Od: " " <f...@g...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]niestety po wyrugowaniu transformacji dla kazdego pixela,
czyli przepisaniu petli rysujacej mw z 1 na 2
///////////////////////1
for( int j=0; j<sprite_height; j++)
{
for(int i=0; i<sprite_width; i++)
{
unsigned v = sprites_buf_[sprite_bitmap_posy+j]
[sprite_bitmap_posx+i];
x= x - (transform_x + transform_center_point_x);
y= y - (transform_y + transform_center_point_y);
float x_prim = transform_alfa_cos * x + transform_alfa_sin * y;
float y_prim = -transform_alfa_sin * x + transform_alfa_cos * y;
x = x_prim + transform_center_point_x;
y = y_prim + transform_center_point_y;
x = x - sprite_centre_x;
y = y - sprite_centre_y;
x_prim = sprite_alfa_cos * x + sprite_alfa_sin * y;
y_prim = -sprite_alfa_sin * x + sprite_alfa_cos * y;
x = x_prim + sprite_centre_x;
y = y_prim + sprite_centre_y;
int yc = CLIENT_Y-y;
if(!pBits) return;
if(yc<0) return;
if(yc>=CLIENT_Y) return;
if(x<0) return;
if(x>=CLIENT_X) return;
int adr = (yc*CLIENT_X+x);
((unsigned*)pBits)[adr] = color;
}
}
//////////////////////2
for(int j=0; j<sprite_height; j++)
{
for(int i=0; i<sprite_width; i++)
{
unsigned v = sprites_buf_[sprite_bitmap_posy+j]
[sprite_bitmap_posx+i];
int yc = CLIENT_Y-y;
if(!pBits) return;
if(yc<0) return;
if(yc>=CLIENT_Y) return;
if(x<0) return;
if(x>=CLIENT_X) return;
int adr = (yc*CLIENT_X+x);
((unsigned*)pBits)[adr] = color;
x+=dxdx;
y+=dydx;
}
x -= (xBfiz-xAfiz);
y -= (yBfiz-yAfiz);
x += dxdy;
y += dydy;
}
///////////////
program przyspieszyl ledwie o jakies 25-30% :-(
nie rozumiem tego bo w wewnetrzenej petli masa dodawan i mnozen
zamienila sie na dwa dodawania :-/ - cos tu jest nie tak
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 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
- 02.04.12 11:35 zażółcony
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 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
Najnowsze wątki
- 2025-01-13 Zasięg Tesli przy szybszej jeździe
- 2025-01-13 Gdańsk => Application Security Engineer <=
- 2025-01-13 Białystok => System Architect (Java background) <=
- 2025-01-13 Warszawa => Konsultant ds. sprzedaży <=
- 2025-01-13 Warszawa => Key Account Manager <=
- 2025-01-13 Szczecin => Senior Field Sales (system ERP) <=
- 2025-01-13 Rzeszów => International Freight Forwarder <=
- 2025-01-13 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-01-13 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-13 Warszawa => Staż w dziale Sprzedaży B2B <=
- 2025-01-13 Wydajność klimy w obecnych temperaturach
- 2025-01-13 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-01-13 Kraków => UX Designer <=
- 2025-01-13 Katowice => Key Account Manager (ERP) <=
- 2025-01-13 Mińsk Mazowiecki => Spedytor Międzynarodowy <=