a scan conversion algorithm using quad-tree representation of dz buffer

Post on 06-Jul-2016

215 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Systems and Computers in Japan, Vol. 23, No. 8, 1992 Translated from Denshi Joho Tauahin Gakkai Ronbunshi, Vol. 74-DIl. No. 9, September 1991, pp. 1200-1207

A Scan Conversion Algorithm Using Quad-Tree Representation of dZ Buffer

Tsuyoshi Yamamoto, Member

Hokkaido University Computing Center, Sapporo, Japan 060

SUMMARY

This paper proposes an extension of the Z buffer or dZ buffer that stores not only the 2 component but also the normal vector of a visible polygon at the sampling point. While the conventional Z buffer algorithm is based on a zeroth-order approximation of a visible polygon, the dZ buffer is considered as a first-order approximation. As a result, the dZ buffer can approximate a surface by fewer sampling points.

A quad-tree based internal representation of the dZ buffer and scan conversion algorithm has been proposed using the representation. The proposed algorithm uses memory in proportion to the complexity of the generated image while the 2 buffer uses memory in proportion to the image size. While the algorithm allows an incremen- tal update of the dZ buffer as similarly to the Z buffer, anti-alias processing is possible by controlling oversamp- ling on demand.

The algorithm can be implemented using recursive procedure calls including simple overlapping detection of triangles and rectangles. The algorithm is implemented and evaluated on a UNIX workstation and the result shows better figures in both conversion time and memory requirement.

Key words: Scanline conversion; Z buffer; dZ buffer; anti-aliasing; area coherency; Warnock’s

algorithm; quad tree; garbage collection; hidden surface remOVal.

1. Introduction

Scanline conversion is one of the most basic pro- cesses in computer graphics. Numerous algorithms such as the Z buffer algorithm, the d i n e algorithm, and the ray tracing algorithm have been proposed; and these are selected by the purpose.

The Z buffer algorithm is one of the most frequent- ly used scanline conversion techniques mainly because it is simple and suitable for hardware implementation. However, it must store entire Z values for the image area to be generated, thus it is difficult to obtain a high- quality image.

One of the advantages of the Z buffer algorithm is that this algorithm proceses polygons independently, thus it does not require presorting of polygons. The Z buffer algorithm is an incremental algorithm; hence, the raster image is updated when the polygon is processed. By this feature, the Z buffer is suitable for an interactive operation system. Because each Z buffer cell stores only information from one polygon, an aliasing phenomenon occurs at the edges of a polygon. As a result, images generated by the Z buffer algorithm are poorer in general than those from other algorithms.

65 ISSN0882- 1666/92/ooO8-0065$7.50/0 1992 Scripta Technica, Inc.

The Z buffer algorithm for scanline conversion from polygonal patches has been investigated for a long time. Because of its algorithmic simplicity, it can easily be implemented using hardware. Hence, the Z buffer is presently the most popular technique for realtime image generation on graphics workstations.

When comparing the Z buffer algorithm with other scan conversion algorithms such as the scanline algo- rithm, several problems arise. A huge working space for highquality image generation is one of the major prob- lems. The size of the working memory used in the Z buffer algorithm increases in proportion to the number of pixel to be generated. By contrast, the ordinary scanline algorithm uses only one line buffer that increases in proportion to the number of pixels in one scanline.

B e c a w there are many variations in the scanline algorithm, it is difficult to describe all of them in one sentence. However, the basic concept of the scanline algorithm is the use of priority information and scanline coherency of polygons. By using such information, com- putation and memory size are reduced. Since all poly-

visible polygons. Then a new buffer structure is proposed that is a first-order approximation of visible polygons. By using this structure, the surface can be approximated by fewer sampling points. The buffer structure is defined as delta Z buffer (dZ buffer). A new scan conversion algo- rithm has been introduced which uses quad-tree represen- tation of the dZ buffer, and the algorithm uses fewer memory space and generates fewer sample spans than the conventional Z buffer algorithm.

The algorithm uses memory in proportion to the complexity of the generated image while the Z buffer uses memory in proportion to the image size. The algo- rithm allows incremental update of the dZ buffer similar- ly to the Z buffer, and anti-alias processing is available by controlling oversampling on demand. The algorithm can easily be implemented as a simple recursive proce- dure by using overlapping detection of a triangle and a square window. The algorithm is implemented and evalu- ated using the UNIX workstation and the result shows better figures in both computation time and memory space requirement.

gons that are visible at a pixel are known when the pixel is evaluated, anti-aliasing processing is possible with small overhead [2]. As a result, the scanline algorithm can give a better image than the Z buffer algorithm.

2. Analysis of 2 Buffer and dZ Buffer Algorithms

While the scanline algorithm requires less computation and less space, it is complex and difficult to implement by hardware. The scanline algorithm is suitable for general-purpose computers.

To clarify discussion, it is necessary to define the scan conversion operation in some detail.

The ray tracing algorithm is used for very high- quality image generation since it can stimulate most optical phenomena such as reflection and refraction. However, it requires an extremely large amount of com- putation than other algorithms.

Simple anti-aliasing is achieved by oversampling and averaging. Shibamoto [ 11 proposed a new anti-alias- ing technique for the Z buffer algorithm in which two or more Z buffers are used. However, this algorithm is not perfect when the number of polygons included in one pixel is greater than 2.

The Z buffer algorithm is important for the interac- tive graphic system because it is simple and it is possible to update the frame buffer incrementally. However, many problems still remain for the high-precision graph- ics that will be important in the future.

This paper describes the conventional Z buffer algorithm as a zeroth-order approximation of Z value of

When a triangular patch Pt={(x,l, Y , I , z , ~ ) , (x l z , ylz, ztz), (x13, yt3, t , a ) ) is given in screen space, the pro- jected image to the screen -0.5 s X < 0.5, -0.5 s Y < 0.5 is calculated and the frame buffer is updated by the property value of the patch. There is no additional infor- mation about the patch and two patches may intersect each other. The screen is sampled by N X N pixels and N = 2" is assumed. Property values such as intensity and colors are calculated before scan conversion.

In the Z buffer algorithm, an N x N array of words is used to store the Z value, and for the area that is covered by P,, the Z value or ZZB(x, y) to the time is compared with the Z value of Pi at (x, y); and if Z(Pi, x , y) < ZB(x, y) then z(x, y) and the frame buffer are updated by z(P,, x, y) and the properties of Pi. The image that remains in the frame buffer after processing all patches is the result of scan conversion. if perspec- tive projection is used, llz is stored in the Z buffer and update of buffer occurs within z(Pi, x , y) > ZB(x, Y ) .

66

Quadrant 1

Quadrant 2

Quadrant 3

Quadrant 4 Properties

Structure of node cell Structure of leaf cell

Fig. 2. A quad-tree representation of dZ buffer.

Fig. 1. Approximation of surface in Z buffer method.

space-eficient data structure, the dZ buffer cannot be used in a practical application system.

The Z buffer is simple and easily understood. However, even in a typical case such as 1024 X 1024 pixels, 4 byte per pixel and 4 byte per Z buffer, it uses 8 Mbytes of the Z buffer area as work space. The quality of the image generally is not as good as the anti-alias4 image generated by the scanline algorithm. In the 2 buffer algorithm, anti-aliasing processing by oversamp- ling and averaging is possible if a huge Z buffer area for oversampling of the screen is u s d . For instance, when 16 times of oversampling are applied for the case of 1024 X 1024 pixels, it uses 128 Mbytes as Z buffer.

A 2 buffer c8n be understood as the discrete repre- sentation of a visible surface in the screen coordinate system. Each cell of the Z buffer holds only the 2 value at the sampling point, and it is considered that the 2 buffer algorithm is based on the zeroth-order approxima- tion of the surface. As for using this scheme, the only possibility of increasing the accuracy of the visible sur- face in the buffer is to increase the sampling density.

Another possibility of increasing the accuracy is to store higher-order information such as differential coeffi- cients of the surface at sampling points. In many scan conversion applications, objects are represented using planar patches; and in such case, first-order differential coefficients or a normal vector of the surface is enough. hereafter, we call the buffer structures extended to hold normal components of the visible surface the dZ buffer.

A dZ buffer cell must be designed to have at least three value slots of Z, dddx and dzldy; and, as a result, the size of this buffer will be three times larger than the simple Z buffer for the same image size. Without a

3. Quad-tree Representation of dZ Buffer

Quad-tree [5] is a well-known scheme to represent two-dimensional discrete data. This scheme works well if the data contain a large homogeneous region. Appar- ently, the Z buffer does not fit the quad-tree representa- tion because most Z values in the buffer are different even if these pixels originated from identical polygons.

In the Z buffer, while the Z component has the same characteristic as the Z buffer, ddak, dz/dy compo- nents are homogeneous in the region that is covered by identical polygons and the quad-tree representation can be used for these components. As for Z values, it can be calculated from the Z value of known (x, y) on the patch dzl& and dz/dy. Hence, if a window is covered by a polygon, all information about the patch is represented by the Z value at the edge of the window and dddx, dz/dy. This means that when a quad-tree cell or window is covered by a patch, no further subdivision is per- formed.

In this paper, an internal representation of a quad- tree as shown in Fig. 2 is proposed. A quad-tree is composed of cells and leaves. A cell consists of four slots, i.e., the first, second, third, and fourth quadrants, respectively. A leaf cell consists of four slots of Z, dd&, dz/dy and property. It is assumed that patches are represented in screen coordinates after perspective trans- formation. The property slot is filled by the result of the shading process. A cell and leaf must be distinguished by an additional bit field when a pointer is used to indicate one of them.

67

Table 1. dZ buffer update procedure

Procedure updatedzb(p,dzb,x,Y,w) begin

pointer Patch p; pointer Quadtree dzb; real x,y,w; if disjoint_irom-window(p,x,y,w)then

clse if is_leaf(dzb) then return;

if surrounds-window(p,x,y,w) tlicn if islront(p,dsb,x,y,w) then

retilrn updateJeaf(p,dzb); else if is_behind(p,dzb,x,y,w) then

return; olsc if w>MIN-WINDOW tlicn

rctiirn tlivitlc Jcaf( p,drb,x,y,w); else if is-front(p,dzb,x,y,O) then

return updateJeaf( p,dzb); else

return; endif

else if w>hlIN-WINDOW then return divideleaf(p,dzb,x,y,w);

else if is_front(p,dzb,x,y,O) then retiirn updateJeaf(p,dzb);

else return;

end if

begin else

/ * d z b q n represents nth quadrant of qriadtree */ update-dzb(p,dzb.uql,x,y,w/2); update-dzb( p > d z b q 2 , x + w/2,y,w/2); updateAzb( p ,dzbq3,x ,y+w/2 ,w/2) ; update -dzb(p ,dzbq4 ,x+w/2 ,y+w/2 ,~ /2 ) ; if isrolierent(dzb) thcn

merge(dzb); end if return;

elid end if

end

[6] . In Warnock’s algorithm, the screen is subdivided recursively into four subwindows until each subwindow contains only one polygon. The proposed algorithm is considered a variation of Warnock’s algorithm. War- nock’s algorithm assumes that all polygons are given before the computation to sort polygons by the Z value at the first stage. However, the proposed algorithm processes each polygon independently. This means that the quad-tree structure created by previous processing may be destroyed later by polygons that cover the quad- tree structure. The effect is that the overwritten part is overwritten, thereby causing a garbage area that is refer- enced by no pointer. Hence, garbage collection should be considered for recycling memory space.

In Warnock’s algorithm, the quad-tree structure is searched only once, thus garbage collection is not a problem. There is another interpretation that the dZ buffer using quad-tree representation is a compressed representation of the Z buffer.

First, the dZ buffer is initialized to the plane whose z is infinite, a?,/& and a?,/@ is zero, and properties are the 88me as background color. Tables 1 and 2 describe the algorithm in Pascal-like language; update-dzb denotes arguments of polygon p, dzb, or the Z buffer at the time and window information x, y, and w. On returning the procedure, dzb is modified as a side effect.

In this algorithm, recursive subdivision of the dZ buffer cell progresses until the terminal condition is satisfied. The terminal condition is satisfied if the window becomes homogeneous or the width of the win- dow becomes smaller than the predefined constant MIN-WINDOW. If the window becomes smaller than the limit, the Z value of the lower-left corner is sampled and compared to the old Z value in the same way as the 2 buffer. Anti-aliasing processing is available by setting MIN-WINDOW smaller than pixel size.

4. Scanline Conversion Algorithm The procedure disjoint - from-window is the predi- cate function that is true if the window does not have a

This section describes the sc8n conversion algo- common region to the polygon. The procedure surrounds-window is the predicate function that is true if the window covers the polygon complete. When these two predicates are both false, then some part of the window overlaps the polygon. In actual coding, because disjoint-from-window and surroundt-window are disjoint to each other, they can be compressed into one function that returns three values by conditions.

rithm based on the dZ buffer and its quad-tree represen- tation. The algorithm can be divided into two stages. The first stage is the dZ buffer update algorithm and the second is the raster generation algorithm.

4.1. dZ buffer update algorithm

Scan conversion using the dZ buffer conceptually resembles Warnock’s hidden surface removal algorithm

By updating the dZ buffer, four subwindows may point to an identical polygon; is-coherent is the predicate

68

Table 2. Leaf divide procedure

Procedure divideJeaf( p,dzb,x,y,w) begill

pointer Patch p; pointer Leaf m l ,m2,m3,m4; pointer Quadtree dzb; real x,y,w; m l - copy_leaf(dzb); m 2 - copyJeaf(dzb); m 3 - copyJeaf(dzb); m4 - copyJeaf(dzb); dzb - a l l o c a t e ~ e l l ( ) ;

1112-2 c m 2 w z + w'm2- d z / d r ; nl3-2 - m3-2 + w'm3- d : / d y ; inI-z -- md-z + W * ( I I I ~ - d z / d r + m4- d r l d y ) ; I I pdate-dsb( p,in I ,x,y,w/2); 1 i p t l a r e d z b ( p , m 2 . ~ + ~ / 2 , y , w / 2 ) ; updatedzb(p,m3,x ,y+w/2 ,~ /2) ; u pdatedzb( p,nil ,x+ w/2,y+ w/2,w /Z); d z b q l +-- m l ; d z k q 2 - m2; d z k q 3 - m3; d z l w q 4 - m4; if coherent(dzb) then

end if return;

/ * A w B represents the member B of A that is a pointer to structure. * /

meregeseU(dzb);

end

function to judge such a condition. There is another technique to detect this condition. If all four subwindows are updated and the result is all leaves, then this window points to an identical polygon. Because the dZ buffer is updated by one polygon at a time, the updated leaf cell is always pointing to the polygon.

At the procedure update-dzb, if the argument dzb is already a leaf and the window is not coherent, then divide-leaf is called to subdivide the leaf cell. If divide-leaf, allocate-cell is called to make a new space for the cell and update-dzb is called recursively with the new dZ buffer cell and window parameters. This re- cursive invocation of update-dzb will continue until the subwindow becomes smaller than MIN-WINDOW or becomes coherent.

The procedure merge-cell merges four connected subwindows if these are originated from an identical polygon. When this procedure merges subwindows, the garbage areas that are never referenced may be created. These areas should be recycled when allocate-cell allo- cate new cells.

Table 3. dZ buffer raster image conversion procedure

Procedure raster -grncratioii( tlab,n,g.w) I)cgin

pointer Quacltrec d z b ; rcal r ,y ,w; if is-leaf(dzb) then

clsc if w > MIN-WINDOW then return fil l-window(dzh,x,y,w);

begin raster-generation( d z b u q l ,x ,y ,w/2) ; r ; t s t ~ r _ ~ r n r r a l i o n ( c l z l r u q 2 , ~ + ~ / 2 , y , w / 2 ) ~ r as 1 e r -ge II c r a 1 ion ( d z bu q 3, x , y + w / 2, w / 2) ; r~ster~genera~ioi1(dzlruq4,~+~/2,y+w/~,w/2); returll;

C l l d

clsc b C g i l 1

f l l-wintlow( average(dzb),x,y,w); T1! t urn;

Cl ld

C l l t l if C l l d

4.2. Raster image generation algorithm

When generating a raster image from the dZ buff- er, there are two possible strategies: 1) batch mode generation where the dZ buffer is updated by all poly- gons then generates a raster image as a separate process; and 2) on-the-fly mode generation where the frame buff- er is updated at the same time the dZ buffer is updated by a polygon.

Table 3 describes the procedure raster_generation in Pascal-like language that generates a raster image from the dZ buffer. The procedure fill-window fills the corre- sponding frame buffer by arguments of x, y position and points to the property. It must be noted that in some condition, the minimum window area of the dZ buffer may be smaller than the area of a pixel. At rasterdeneration, if the window size is smaller than the pixel size, then no further subdivision of the window is performed. Instead, the weighted average of properties of the leaf belonging to the dZ buffer node is calculated and the corresponding pixel is updated by the value. This processing UUI be considered as an anti-aliasing by means of oversampling and averaging.

In the on-the-fly mode frame buffer update, the function fill-window is called when the leaf information of the dZ buffer node is updated. The leaf is updated by undate-leaf in Table 1 and the timing fill-window should

69

w Node cell

Fig. 3. Highdensity intemal representation of dZ buffer by multiple reference.

be called the argument of x, y, w and the new leaf of the dZ buffer or dzb. As a result, the corresponding raster image is obtained incrementally.

In the batch mode frame buffer update, a pixel is writtea only once. However, when a polygon hides other polygons, some pixels are overwritten in the on-the-fly mode. As a result, the batch mode completes raster generation faster than the on-the-fly mode.

5, Implementation and Performance Evaluation

The proposed algorithm is implemented on the standard UNIX workstation using C language, and raster generations for several model data are performed to collect performance data. The d t s are compared to figures by the conventional Z buffer algorithm on the same UNIX worlrstrrtion.

5.1. Design of internal representation of dZ buffer

In general, a quad-tree representation contains far more leaf cells than node cells. If there is a space-

efficient coding scheme, the program will use less work- ing memory. In the dZ buffer, a leaf cell holds z , &/&, &/dy and properties. For leaf cells originated from identical polygons, all slot values except for z are identi- cal for these leaves. This means that there are many leaf cells that have the same information except for the z value. When a procedure traverses down a quad-tree, the x, y coordinate of the lower-left corner of the window is known. If the z value in the window can be calculated quickly using &/& and &/dy, z information can be replaced by another value.

In the implementation, a leaf cell has a slot denoted instead of z . This value reflects the 2 value of the

cross-point of z-axis and the plane on which the poly- gon lies. By using this structure, the z value for the x, y coordinate value is calculated by the following equa- tion and it uses only two multiplications and two addi- tions:

dz dz z=&+-X dx +--y dy

By this scheme, all leaves originating from identi- cal polygons have same slot values and one object can be shared by many leaf pointers. Hence, only one leaf object is sufficient for a polygon. This means that the number of leaf objects never exceeds the number of visible polygons.

When using this scheme, two multiplications and two additions are used to calculate the z value for the x, y coordinate. However, the floating number operations on recent workstations are so fast that the overhead to naive representation of the z value is negligible.

Figure 3 illustrates the relation of leaf and node cells when two polygons (A, B) cover a square region using the intemal representation proposed here. In this case, there are only two leaf objects. However, this dZ buffer contains 10 leaf cells essentially if multiple refer- ence is considered. Multiple reference of leaves makes the garbage collection scheme complex. Fortunately, this representation enrmres that there is no circular list struc- ture and the reference counting method [4] can be used 88 a fast garbage collection scheme. As a result of statis- tical analysis, only a small number of leaf cells becomes garbage, thus garbage collection may not be necessary in actual implementation.

70

Fig. 4. Test image-data 1 (three triangular patches).

Fig. 6. Test image-teapot (2256 triangular patches).

patches and some of these intersect each other. Figure 6 illustrates data 3 or the famous teapot that consists of 2256 triangular patches.

The results for typical d i n e conversion are listed in Table 4. In Table 4, the size of the dZ buffer is 2048 x 2048 and the image generated is 512 X 512. The oversampled pixels were used for anti-aliasing. The images are smooth shaded by the Gouraud shading. Figures 4, 5, and 6 show the result of this processing. The program uses smooth shading by Gouraud. For this purpose, each leaf object has an additional slot for brightness information of three vertices of the patch. As a result, a leaf object has 12 slots of double-precision floating numbers and 96 bytes in size.

Fig. 5. Test image-data 2 (180 triangular patches).

5.3. Computational complexity

It should be noticed that the increase in computa- tion time is not in proportion to the number of pixels generated. Figure 7 is the plot of CPU time when the image size vanes from 512 X 512 to 4096 X 4096 pixels. Figure 7 shows that the CPU time is almost in proportion to N when N X N pixels are generated. War- nock’s algorithm has the same characteristic of computa- t i 4 complexity. In the conventional 2 buffer algo- rithm, CPU time for N X Npixel generation increases in proportion to hp. Therefore, the dZ buffer has an advan- tage for high precision of large-size image. Of course,

5.2. System implementation and comparison to conventional method

The algorithm has been implemented on Sparc- Station-1 (12.5 MIPS) using C language. Three polygon data are used for performance measurement. Figure 4 illustrates data1 that contains only three triangular patch- es. Figure 5 illustrates data 2 that contains 180 triangular

71

Table 4. Process time and memory capacity of the dZ buffer method

Number of triangular patches

3 180

2256

Test data CPU time (s)

dZ buffer Raster trans- update formation

1.13 1.70 18.52 2.53 35.52 4.20

data 1 data 2 date 3

Memory size

(K bytes)

120 469 928

SparcStation-1 (12.5 MIPS) dZ buffer = 2048 X 2048 generated image = 512 X 512

the Z buffer is so simple an algorithm that it can be implemented using hardware and then it can generate an image faster.

The raster generation algorithm requires computa- tion in proportion to P?. It is the same order as the Z buffer algorithm. However, the Z buffer algorithm up- dates the frame buffer M times, where M is the number of visible polygons. This means that the CPU time of the Z buffer algorithm also is in proportion to M. However, in the dZ buffer algorithm using batch mode frame buff- er update, CPU time is independent of M and it is only in proportion to ZP.

In the Z buffer algorithm, computations executed in the most inner loop are only one comparison and one addition. However, elementally computation of the dZ buffer algorithm is checking of the overlap relation be- tween triangle and square window, thus the cost is con- siderably expensive. This means that when the image is small, the Z buffer algorithm requires less computation. In complex image generation, the experimental result shows that approximately 10 percent of the dZ buffer construction time is used for raster generation and most of the CPU time is used for dZ buffer construction.

5.4. Memory requirement

In the dZ buffer algorithm, the memory size re- quired for raster generation is approximately in propor- tion to the complexity of the image to be generated. When the image is simple, because of the simplicity of Z buffer contents, the dZ buffer uses very little memory

log( C P U time)

o CPU time for dZB construction C P U time for raster generation I

100s I

IS I I I ' +log(resolution) '512 f024 2'048 4'096

Fig. 7. Resolution vs. CPU time for teapot.

space.. Figure 8 illustrates the plot of used memory size for the dZ buffer when the number of pixels N changes. For the image of 4096 X 4096 pixels, the dZ buffer uses only 2 Mbytes in case of teapot image. The Z buffer will use 128 Mbytes for the same condition. This means that Z buffer is compressed to 64 times by using the dZ buffer scheme. If the model is simple, the compression ratio is higher.

In the conventional Z buffer algorithm, the buffer size is always in proportion to p. However, the dZ buffer uses the order of in the theoretical worst case

72

log(size)

lone f

IHB _ _

IOOKR

teapot(2256 patches) 10RB I I ’ +log(reso tution)

512 1’024 2’048 4‘096

Fig. 8. Resolution vs. dZ buffer size.

and experiments show that the buffer size increases in proportion to N for N X N pixel generation. This behav- ior is quite similar to Warnock’s area coherence algo- rithm.

From these observations, the dZ buffer algorithm is useful for high-resolution image generation that has been difficult under the limited size of the working space.

6. Conclusions

A new extension of the Z buffer or dZ buffer was proposed that holds surface normal component and a new scanline conversion algorithm based on quad-tree repre- sentation of the dZ buffer. While this algorithm is more complex than the conventional Z buffer algorithm, it

requires smaller work space and supports simple anti- aliasing processing keeping most of the characteristics of the Z buffer algorithm such as the incremental update of the frame buffer.

Because leaf cells generated from an identical patch have the same &/&, &/dy value, it is possible to share one leaf cell and the work space can be reduced to 1/10 - 1/60 by comparison of the naive Z buffer repre- sentation.

As for the computation time, the dZ buffer algo- rithm is faster than the Z buffer algorithm for a high- density image because the order of the computation cost is lower than the Z buffer algorithm.

This algorithm is implemented on the UNIX work- station and the result shows that it uses a reasonable work space and runs at acceptable speed.

REFERENCES

1. T. Shibamoto. Anti-aliasing in motion graphics. Tech. Rep. CG and CAD, Inf. Process. Soc. Jpn.,

2. T. Nishita and E. Nakamae. Half-tone representa- tion of 3-D objects with edges by using a multi- scanning method. Trans. Inf. Process. SOC. Japan,

3. I. Sutherland, R. Schumacker, and R. Sproull. A characterization of ten hidden-surface algorithms. ACM Computing Surveys, 6, 1 (1974).

4. D. G. Bobrow and L. P. Deutch. An efficient incremental automatic garbage collector. Commun. ACM, 19, 9 (1976). H. Samet. The quadtree and related data structure. ACM Computing Surveys, 16, 2 (1984). J. Warnock. A hidden surface algorithm for com- puter-generated half-tone pictures. TR 4-15, Com- puter Science Dept., University of Utah (1969).

NO. 9-1, pp. 1-8 (1983).

25, 5, pp. 703-711 (1984).

5.

6.

73

AUTHOR

Tsuyoshi Yamamoto received a B.S., an M.S., and a Ph.D. in Electrical Engineering from Hokkaido University where he is currently an Associate Professor in the Computing Center. His research interests include symbolic processing and computer graphics. He is a member of IEEE; ACM; and IPSJ.

14

top related