Uff.. znalazłem w końcu trochę (dużo :P) wolnego czasu i zaimplementowałem wspomniany przeze mnie wcześniej algorytm obcinania wielokątów. O ile sam algorytm (Sutherland-Hodgman) nie jest zbyt skomplikowany, to już odpowiednia implementacja w assemblerze nie była zupełnie banalna (chociaż ilościowo kodu nie jest dużo). Implementacja obcina wielokąt do zadanego parametrycznie okna, wykorzystując strategię "dziel i zwyciężaj" - czyli skomplikowany problem dzieli na kilka mniejszych - w tym wypadku obcinanie następuje dla każdej krawędzi okna osobno. Dzięki takiemu rozwiązaniu można obcinać np. tylko po krawędziach poziomych lub pionowych :). Procedurę clippingu przeniosłem do osobnego pliku, w programie głównym jest tylko kilka zmian w stosunku do procedury rysowania wielokątów wypukłych bez obcinania. Mam pomysł (chyba), jak zmniejszyć dosyć kosztowne czasowo liczenie przecięcia krawędzi z oknem obcinającym (teraz jest między innymi jedno mnożenie i jedno dzielenie), ale zostawiam to sobie na później (tablica nie wchodzi raczej w grę ze względu na jej rozmiar). Jak zwykle komentarze mile widziane :P Myślę, że kolejnym krokiem będzie jakiś obracający się sześcian, a później może obiecany wcześniej glenz :D
Wyniki konkursów ABBUC 2025 Znamy zwycięzców ABBUC Software i Hardware Contest 2025. Sprawdź, kto zgarnął nagrody i punkty!
Konwerter ST MSA oraz Extractor Nowe narzędzia działające w przeglądarce, a wszystko w jednym pliku HTML po stronie klienta.
FreeMiNT OS Distro Pełna, bootowalna dystrybucja systemu operacyjnego FreeMiNT dla 32-bitowych komputerów Atari.
Atari800MacX 6.1.0 Popularny emulator Atari na Maca otrzymuje wsparcie dla FujiNet/NetSIO oraz liczne poprawki błędów!
RastaConverterBeta19 Najnowsza wersja RastaConvertera wprowadza nowe funkcje odległości kolorów, w tym domyślne "rasta".