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
Działające RM800XL! Na X pokazano działającą replikę RM 800XL - to ważny krok w stronę gotowego produktu.
PyDPainter 2.2.0 Pixel art w stylu Deluxe Paint.
SillyVenture 2025SE - nowe wiadomości Ruszyła sekcja regulaminów i uploadu prac. Zaktualizowano regulamin i dodano nową kategorię muzyczną
Doom8088 dla Atari ST Nowy port Dooma na Atari ST bazuje na wersji dla 8088 i wspiera tylko pierwszy epizod
Altirra 4.40 test 13 z Floppy Board Nowa wersja testowa Altirry dodaje wsparcie dla Black Box Floppy Board