DonNews #11
21 апреля 2000

Coding - Fill the closed area on the screen.

<b>Coding</b> - Fill the closed area on the screen.
Disabler / DPL


   Fill the closed area on the screen


  Today you will learn about such
Things like shading. Immediately, I note that we do not fill up 
landfills and stuff, but just closed area on the screen, and 
the region may be limited as a unit, and zero points. Will fill 
solid color, ie, without texture (the texture of the casting 
will be discussed below). 


  The algorithm is simple to fill and disgrace
however, works pretty fast.


  Thus, suppose we have a closed area
on the screen (Fig. 1) and a point within this region with the 
coordinates X and Y. 


          ■ ■ ■ ■ ■ ■ ■ ■ ■

     ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■

    ■ ■ ■ ■ ■ ■

    ■ ■ (X, Y) ■ ■ ■

    ■ ■

     ■ ■ ■ ■ ■ ■

         ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■

                     ■ ■ ■ ■ ■ ■ ■ ■ ■

    Figure 1


  We need two buffer sizes of 1024
bytes each (512 points). And now for
order:


  1. In buffer # 1 coordinate our
point (X, Y) and store the number of positions of the points 
(in our case - 1). 


  2. Take a point from buffer # 1 and put
zero points around it in buffer # 2 and simultaneously make 
them isolated. And so on until not process all the points of

buffer # 1 (Fig. 2).


          ■ ■ ■ ■ ■ ■ ■ ■ ■

     ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■

    ■ ■ ■ ■ ■ ■ ■

    ■ ■ ■ ■ ■ ■ ■

    ■ ■ ■

     ■ ■ ■ ■ ■ ■

         ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■

                     ■ ■ ■ ■ ■ ■ ■ ■ ■

   Figure 2


  3. Take a point from buffer # 2 and put
zero points around it in buffer # 1 and simultaneously make 
them isolated. Repeat for all points of the buffer # 2 (Fig. 3).



          ■ ■ ■ ■ ■ ■ ■ ■ ■

     ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■

    ■ ■ ■ ■ ■ ■ ■ ■ ■

    ■ ■ ■ ■ ■ ■ ■ ■ ■

    ■ ■ ■ ■ ■

     ■ ■ ■ ■ ■ ■ ■

         ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■

                     ■ ■ ■ ■ ■ ■ ■ ■ ■

   Fig.3


  4. Go to step 2.


  The algorithm is completed if
in one of the buffers will not appear any
point.



            Fill texture


  Fill texture is different from
solid fill virtually anything except
one - need a buffer size # 3
6144 bytes.

              Here we go:

  1. Copy the screen buffer # 3

  2. Fill it with solid-filled area on the
screen.

    Process the byte at the screen:

  3. Berem byte screen (scr), we add
to xor with the bytes from the buffer # 3. Thus we get a mask 
on which to superimpose the texture (mask). 

  4. Berem byte current address
screen and select the lowest three bits (and 7
or and% 00000111) - is offset of the texture (textur).

  5. Take the B textur, invert, and mask making, and xor scr, 
then we put it in place scr.


  6. Increase address by one and go to step 3. And so 6,144 
times. 

P. S: Put point on the screen can be as follows:

; (C) 1996 Disabler / DPL
; A, C - Coordinates
point call 8880

       add a, a

       add a, a

       add a, a

       ld b, a

       ld a, # fe

       sub b

       ld ($ +4), a

       set 0, (hl)

       ret

P. P. S: The annex is ishodnyaki realizing all the above 
algorithms. 



             See You, May Be!



                      Disabler 25.Feb '2000





Other articles:

From the authors - The reasons for the delay number.

News - The status of Rostov spektrumistov: Disabler, Klim, Wild, Dimon, The Rom.

Paradox 2k - Information about the Rostov demo-party: paradox 2k

Millennium party - The information on Minsk demopati.

Forever 2E3 results - Final results.

Soft - Description of the C compiler for the Spectrum.

Soft - a small survey of System Software: UltraSonic version 2., Shuffle Commander v1.0, Elastic Copy v1.0, Strange Player v3.0, Screen Mixer v1.0, ZX C + +, Smagly 3, Quick Commander 2.4.

Programming - The algorithm disk protection against copying.

Coding - Fill the closed area on the screen.

coding - The algorithm of spectral analysis of sound in real time.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
List BBS - A list of BBS. Opened a new Timax BBS.
Feedback - contact the publisher.
Iron - Register of attribute (port # FF), a new INT for the Pentagon.
From the authors - The status of the newspaper changed.

В этот день...   21 November