Niszczone tekstury przy obracaniu?!?
Ostatnio zmodyfikowano 2009-12-13 17:34
eBbi Temat założony przez niniejszego użytkownika |
Niszczone tekstury przy obracaniu?!? » 2009-12-12 15:57:16 Witam Nie potrafiłem inaczej tego nazwać jak w temacie ponieważ tak dosłownie się dzieje przy obracaniu bitmapami. Mam kilka bitmap (koło,trójkąt,prostokąt) którymi obracam w allegro za pomocą funkcji; rotate_sprite(bufor,kolko,poziom,pion,ftofix(poziom-mouse_x));
przy naciśnięciu prawego przycisku myszki i poruszeniu w lewo lub prawo obracam nimi. Niestety ta operacja/funkcja działa szkodliwie na kontury tych figur. Z koła robi się 16 ramienna gwiazda, boki w kwadracie rozcinają się na kilka, po prostu chaos. Ma ktoś pomysł jak się pozbyć tego? jak inaczej to zrobić? Po prostu chcę piękną jakość |
|
DejaVu |
» 2009-12-12 16:04:15 Żeby mieć piękną jakość biblioteka powinna wspierać antialiasing. Chyba tego nie ma w allegro (przynajmniej nie w allegro 4.x). Inną opcją pięknej jakości jest wygenerowanie np. 360 obrazków jednej figury i wklejanie odpowiedniej. /edit: http://www.allegro.cc/iotd/view/2005-10-04 |
|
eBbi Temat założony przez niniejszego użytkownika |
» 2009-12-12 16:05:34 ;( <płacz> może f.a.l powie coś bardziej sensownego |
|
DejaVu |
» 2009-12-12 16:06:56 |
|
GoldWolf |
» 2009-12-12 20:30:04 ;( <płacz> może f.a.l powie coś bardziej sensownegoTu nic się nie poradzi każda grafika posiada tą wadę. Jak pisał Admin tylko wygładzanie krawędzi może cię uratować, jednak wadą tego zastosowania jest spadek ilości klatek animacji. |
|
eBbi Temat założony przez niniejszego użytkownika |
» 2009-12-13 08:32:44 no ale z tego co widzę to allegro nie ma takiej funkcji, a reszta nie jest jasno opisana. Z tych linków co podał admin na wiki jest coś opisane o użyciu draw_sprite lecz ta funkcja nie ma użycia przy obracaniu bitmapami. Wiem że nie podajecie gotowców na tym forum ale czy mógł by mi ktoś podać choć jeden sposób na ten antialiasing? poza tym jak inni producenci to robią że mają przepiękną grafikę(np. Lost Planet) bez żadnych wygładzeń właśnie typu antialiasing a wymagania mają bardzo małe. |
|
GoldWolf |
» 2009-12-13 10:10:59 Po pierwsze inni producenci używają specjalistycznych programów. Najczęściej korzystają z wymyślonego silnika(albo sami go tworzą), który zawiera szereg funkcji graficznych, o których ci się nawet nie śniło. Po drugie łamanie krawędzi występuje w każdej grze 3D! Czasami trzeba się lepiej przyjrzeć, na obrazkach może to nie być widoczne. Po trzecie używasz prostej, jeżeli nie najprostszej biblioteki graficznej.
Spróbuj przyjrzeć się bibliotece SDL opisanej w Kurs SDL, C++. |
|
DejaVu |
» 2009-12-13 16:05:36 Jeśli chcesz renderować grafikę wydajnie musisz używać DirectX'a lub OpenGL'a. Są to biblioteki wykorzystujące możliwości sprzętowe i wykorzystują moc karty graficznej, a nie procesora. Procesory są za słabe do renderowania dużej ilości grafiki z antialiasingiem. To jest powód dlaczego allegro 4.x nie ma antialiasingu. Allegro 5.x jeśli się nie mylę zostało przepisane na OpenGL'a i tam już można takich bajerów szukać. |
|
« 1 » 2 |