home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky alt.sys.amiga.demos:1016 comp.sys.amiga.programmer:11634
- Path: sparky!uunet!olivea!mintaka.lcs.mit.edu!hal.gnu.ai.mit.edu!psteffn
- From: psteffn@hal.gnu.ai.mit.edu (Paul Steffen)
- Newsgroups: alt.sys.amiga.demos,comp.sys.amiga.programmer
- Subject: Re: HELP with filled vector vertex "fixes?"
- Message-ID: <1992Jul25.121320.15886@mintaka.lcs.mit.edu>
- Date: 25 Jul 92 12:13:20 GMT
- References: <1992Jul24.133525.1@happy.colorado.edu>
- Sender: news@mintaka.lcs.mit.edu
- Organization: /etc/organization
- Lines: 30
-
- In article <1992Jul24.133525.1@happy.colorado.edu> kskelm@happy.colorado.edu writes:
- >
- > I was looking at some filled-vector code and I was wondering: Why do
- >certain vertices need to be "fixed" (with BCHG's, etc), while others do not?
- >
- > Toying with some of my own routines, I get lots of streaks and glitches
- >when I don't "fix" the vertices. What, exactly, are the conditions under which
- >this needs to be done?
- >
- > Thanks!
- >
- >Kevin
-
- Well, the way the blitters fill mode is quite simple. Imagine the blitter
- as being fed a string of bits. Depending on current state of the blitter,
- it will output a string of 0's or 1's. Anytime, there is a set bit on the
- blitter's input, the state is reversed. Therefore;
- source = 0010010001000001001001 becomes,
- destin = 0011110001111111001111
-
- Generally, what involves polygon filled vectors is plotting the lines first
- in a line mode where the blitter leaves one pixel per scan line.
- As the blitter really only fills between the points, this is usually quite
- suffice. The purpose of checking corners is merely to make sure that
- the blitter doesn't miss a pixel as it's filling which causes the 'bleed'
- off to the left. Obviously, if there is only 1 bit set on the line,
- the blitters logic will remain SET to the end of line so you need to make
- sure that the filling remains within the boundries of the polygon.
-
- STratoHAK/TPPi
-