Temat: 1-4 plan blitter convex poly filler

No i stało się! Matki krzyczą, dzieci płaczą, amigowcy pomstują. :P Wrzucam fillera dla DOWOLNEGO wielokąta wypukłego. Jedyne o czym trzeba pamiętać, to żeby współrzędne były podawane w kierunku przeciwnym do ruchu wskazówek zegara. Procedura nie musi nawet sortować wierzchołków, wystarczy, że wyznaczy sobie yMin i yMax. Dane określające wielokąt wyglądają np. tak:

pentaCoords                    
    dc.w    5-1 - ilość wierzchołków - 1
    dc.w    100,0 - wierzchołki
    dc.w    0,100
    dc.w    130,199
    dc.w    260,190
    dc.w    319,80
    dc.w    100,0 - wierzchołek zamykający, taki sam jak pierwszy

Edit: Tak naprawdę, to można podawać współrzędne również w kierunku zgodnym z ruchem wskazówek zegara, ale sugeruje przeciwny... :)

Ostatnio edytowany przez Tomasz Wachowiak (2015-03-28 03:15:15)

Post's attachments

TriangFi.zip 12.36 kb, liczba pobrań: 12 (od 2015-03-28) 

Tylko zalogowani mogą pobierać załączniki.

2

Odp: 1-4 plan blitter convex poly filler

No to teraz poprosimy o szybki glenz vector z dużo faces ;)

STYMulator JIL ST YM2149 mjuz:k @ gnu/linux
SIUP (SIo2Usb2Pc) - SIO2PC USB Edition
PIN ready logo
3M / InD: ... na kasetach były zabezpieczenia w postaci tzw. "mikropierdnięcie" ...

Odp: 1-4 plan blitter convex poly filler

Można w ramach ćwiczeń i glenza zrobić. :) Efekt jest w zasadzie bardzo prosty do realizacji. Trzeba ściany na różnych planach wyrysować i odpowiednio kolory w palecie ustawić.

4

Odp: 1-4 plan blitter convex poly filler

Czekamy ! :)

STYMulator JIL ST YM2149 mjuz:k @ gnu/linux
SIUP (SIo2Usb2Pc) - SIO2PC USB Edition
PIN ready logo
3M / InD: ... na kasetach były zabezpieczenia w postaci tzw. "mikropierdnięcie" ...

Odp: 1-4 plan blitter convex poly filler

Zanim zabiorę się za wektory, potrzebuję jeszcze obcinania wielokątów. Ktoś może zajmował się już tematem, czy będę musiał sam przysiąść i sobie napisać? :)

6

Odp: 1-4 plan blitter convex poly filler

Tomasz Wachowiak napisał/a:

Jedyne o czym trzeba pamiętać, to żeby współrzędne były podawane w kierunku przeciwnym do ruchu wskazówek zegara. Procedura nie musi nawet sortować wierzchołków, wystarczy, że wyznaczy sobie yMin i yMax.

Podobnie jak mam u siebie:) Też wyznaczam min i max bez sortowania tylko chyba kierunek mam zgodny z zegarem;)

Tomasz Wachowiak napisał/a:

Zanim zabiorę się za wektory, potrzebuję jeszcze obcinania wielokątów. Ktoś może zajmował się już tematem, czy będę musiał sam przysiąść i sobie napisać?

Clippingu nie mam więc nie poratuje. Chętnie zobaczę rezultat. Twoje kody traktuje edukacyjnie, parę pomysłów i wniosków dla siebie już wyniosłem. (choć i tak jestem z wydajnością jeszcze sporo za Wami hehe)

Maciek
--------
Atari 65XE + Ultimate 1MB + Stereo + SIO2SD | Atari 520STE + 4MB + UltraSatan | Atari Falcon 030 + CT60e + 14MB ST + 256MB TT + 68882  + CF + Netusbee | Amiga 500 + 1MB + Gotek | Amiga 600 + 2MB Chip + 8MB Fast + CF

Odp: 1-4 plan blitter convex poly filler

Fajnie jest po tylu latach przypominać sobie stare rzeczy, szczególnie assemblera (zawsze miałem słabość do Motoroli :P). Przy okazji można wiele rzeczy zrobić lepiej (jednak doświadczenie znacznie większe) no i sporo rzeczy wynieść - cały czas 4 planowe wypełnianie na blitterze zaproponowane przez Cypriana robi na mnie wielkie wrażenie.
Edit: W wolnym czasie usiądę w takim razie do obcinania wielokątów. Zadanie nie jest zupełnie banalne, kilka rzeczy muszę sobie przemyśleć. Oczywiście najlepszy dla naszych potrzeb będzie algorytm wymyślony przez Sutherlanda-Hodgmana, ale warto uprościć go do postaci prostokąta obcinającego (oryginalnie jest to dowolny wielokąt) i tylko dla wielokątów wypukłych.

Ostatnio edytowany przez Tomasz Wachowiak (2015-03-30 11:28:53)