%!PS-Adobe-2.0 %%Version: 0.1 %%Creator: troff, Plan 9 edition %%DocumentFonts: (atend) %%Pages: (atend) %%EndComments % % Version 3.3.2 prologue for troff files. % /#copies 1 store /aspectratio 1 def /formsperpage 1 def /landscape false def /linewidth .3 def /magnification 1 def /margin 0 def /orientation 0 def /resolution 720 def /rotation 1 def /xoffset 0 def /yoffset 0 def /roundpage true def /useclippath true def /pagebbox [0 0 612 792] def /R /Times-Roman def /I /Times-Italic def /B /Times-Bold def /BI /Times-BoldItalic def /H /Helvetica def /HI /Helvetica-Oblique def /HB /Helvetica-Bold def /HX /Helvetica-BoldOblique def /CW /Courier def /CO /Courier def /CI /Courier-Oblique def /CB /Courier-Bold def /CX /Courier-BoldOblique def /PA /Palatino-Roman def /PI /Palatino-Italic def /PB /Palatino-Bold def /PX /Palatino-BoldItalic def /Hr /Helvetica-Narrow def /Hi /Helvetica-Narrow-Oblique def /Hb /Helvetica-Narrow-Bold def /Hx /Helvetica-Narrow-BoldOblique def /KR /Bookman-Light def /KI /Bookman-LightItalic def /KB /Bookman-Demi def /KX /Bookman-DemiItalic def /AR /AvantGarde-Book def /AI /AvantGarde-BookOblique def /AB /AvantGarde-Demi def /AX /AvantGarde-DemiOblique def /NR /NewCenturySchlbk-Roman def /NI /NewCenturySchlbk-Italic def /NB /NewCenturySchlbk-Bold def /NX /NewCenturySchlbk-BoldItalic def /ZD /ZapfDingbats def /ZI /ZapfChancery-MediumItalic def /S /S def /S1 /S1 def /GR /Symbol def /inch {72 mul} bind def /min {2 copy gt {exch} if pop} bind def /setup { counttomark 2 idiv {def} repeat pop landscape {/orientation 90 orientation add def} if /scaling 72 resolution div def linewidth setlinewidth 1 setlinecap pagedimensions xcenter ycenter translate orientation rotation mul rotate width 2 div neg height 2 div translate xoffset inch yoffset inch neg translate margin 2 div dup neg translate magnification dup aspectratio mul scale scaling scaling scale addmetrics 0 0 moveto } def /pagedimensions { useclippath userdict /gotpagebbox known not and { /pagebbox [clippath pathbbox newpath] def roundpage currentdict /roundpagebbox known and {roundpagebbox} if } if pagebbox aload pop 4 -1 roll exch 4 1 roll 4 copy landscape {4 2 roll} if sub /width exch def sub /height exch def add 2 div /xcenter exch def add 2 div /ycenter exch def userdict /gotpagebbox true put } def /addmetrics { /Symbol /S null Sdefs cf /Times-Roman /S1 StandardEncoding dup length array copy S1defs cf } def /pagesetup { /page exch def currentdict /pagedict known currentdict page known and { page load pagedict exch get cvx exec } if } def /decodingdefs [ {counttomark 2 idiv {y moveto show} repeat} {neg /y exch def counttomark 2 idiv {y moveto show} repeat} {neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat} {neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat} {counttomark 2 idiv {y moveto show} repeat} {neg setfunnytext} ] def /setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def /w {neg moveto show} bind def /m {neg dup /y exch def moveto} bind def /done {/lastpage where {pop lastpage} if} def /f { dup /font exch def findfont exch dup /ptsize exch def scaling div dup /size exch def scalefont setfont linewidth ptsize mul scaling 10 mul div setlinewidth /spacewidth ( ) stringwidth pop def } bind def /changefont { /fontheight exch def /fontslant exch def currentfont [ 1 0 fontheight ptsize div fontslant sin mul fontslant cos div fontheight ptsize div 0 0 ] makefont setfont } bind def /sf {f} bind def /cf { dup length 2 idiv /entries exch def /chtab exch def /newencoding exch def /newfont exch def findfont dup length 1 add dict /newdict exch def {1 index /FID ne {newdict 3 1 roll put}{pop pop} ifelse} forall newencoding type /arraytype eq {newdict /Encoding newencoding put} if newdict /Metrics entries dict put newdict /Metrics get begin chtab aload pop 1 1 entries {pop def} for newfont newdict definefont pop end } bind def % % A few arrays used to adjust reference points and character widths in some % of the printer resident fonts. If square roots are too high try changing % the lines describing /radical and /radicalex to, % % /radical [0 -75 550 0] % /radicalex [-50 -75 500 0] % % Move braceleftbt a bit - default PostScript character is off a bit. % /Sdefs [ /bracketlefttp [201 500] /bracketleftbt [201 500] /bracketrighttp [-81 380] /bracketrightbt [-83 380] /braceleftbt [203 490] /bracketrightex [220 -125 500 0] /radical [0 0 550 0] /radicalex [-50 0 500 1] /parenleftex [-20 -170 0 0] /integral [100 -50 500 0] /infinity [10 -75 730 0] ] def /S1defs [ /underscore [0 80 500 0] /endash [7 90 650 0] ] def % % Version 3.3.2 drawing procedures for dpost. Automatically pulled in when % needed. % /inpath false def /savematrix matrix def /Dl { inpath {neg lineto pop pop} {newpath neg moveto neg lineto stroke} ifelse } bind def /De { /y1 exch 2 div def /x1 exch 2 div def /savematrix savematrix currentmatrix def neg exch x1 add exch translate x1 y1 scale 0 0 1 0 360 inpath {1 0 moveto arc savematrix setmatrix} {newpath arc savematrix setmatrix stroke} ifelse } bind def /Da { /dy2 exch def /dx2 exch def /dy1 exch def /dx1 exch def dy1 add neg exch dx1 add exch dx1 dx1 mul dy1 dy1 mul add sqrt dy1 dx1 neg atan dy2 neg dx2 atan inpath {arc} {newpath arc stroke} ifelse } bind def /DA { /dy2 exch def /dx2 exch def /dy1 exch def /dx1 exch def dy1 add neg exch dx1 add exch dx1 dx1 mul dy1 dy1 mul add sqrt dy1 dx1 neg atan dy2 neg dx2 atan inpath {arcn} {newpath arcn stroke} ifelse } bind def /Ds { /y2 exch def /x2 exch def /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 5 x1 mul add 6 div y0 5 y1 mul add -6 div x2 5 x1 mul add 6 div y2 5 y1 mul add -6 div x1 x2 add 2 div y1 y2 add -2 div inpath {curveto} {newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke} ifelse } bind def % % Tries to round clipping path dimensions, as stored in array pagebbox, so they % match one of the known sizes in the papersizes array. Lower left coordinates % are always set to 0. % /roundpagebbox { 7 dict begin /papersizes [8.5 inch 11 inch 14 inch 17 inch] def /mappapersize { /val exch def /slop .5 inch def /diff slop def /j 0 def 0 1 papersizes length 1 sub { /i exch def papersizes i get val sub abs dup diff le {/diff exch def /j i def} {pop} ifelse } for diff slop lt {papersizes j get} {val} ifelse } def pagebbox 0 0 put pagebbox 1 0 put pagebbox dup 2 get mappapersize 2 exch put pagebbox dup 3 get mappapersize 3 exch put end } bind def %%EndProlog %%BeginSetup mark % % Encoding vector and redefinition of findfont for the ISO Latin1 standard. % The 18 characters missing from ROM based fonts on older printers are noted % below. % /ISOLatin1Encoding [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent /sterling /currency /yen /brokenbar % missing /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree % missing /plusminus % missing /twosuperior % missing /threesuperior % missing /acute /mu % missing /paragraph /periodcentered /cedilla /onesuperior % missing /ordmasculine /guillemotright /onequarter % missing /onehalf % missing /threequarters % missing /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth % missing /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply % missing /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute % missing /Thorn % missing /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth % missing /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide % missing /oslash /ugrave /uacute /ucircumflex /udieresis /yacute % missing /thorn % missing /ydieresis ] def /NewFontDirectory FontDirectory maxlength dict def % % Apparently no guarantee findfont is defined in systemdict so the obvious % % systemdict /findfont get exec % % can generate an error. So far the only exception is a VT600 (version 48.0). % userdict /@RealFindfont known not { userdict begin /@RealFindfont systemdict begin /findfont load end def end } if /findfont { dup NewFontDirectory exch known not { dup %dup systemdict /findfont get exec % not always in systemdict dup userdict /@RealFindfont get exec dup /Encoding get StandardEncoding eq { dup length dict begin {1 index /FID ne {def}{pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end /DummyFontName exch definefont } if NewFontDirectory 3 1 roll put } if NewFontDirectory exch get } bind def %%Patch from lp %%EndPatch from lp setup %%EndSetup %%Page: 1 1 /saveobj save def mark 1 pagesetup 12 /LucidaSans-Demi f (libgraphics: Design and Implementation) 1642 1230 w 10 /LucidaSans-Italic f (Rodrigo G. L\363pez) 2469 1470 w (rgl@antares-labs.eu) 2377 1590 w (ABSTRACT) 2626 2030 w (Libgraphics) 1330 2290 w 10 /LucidaSansUnicode00 f (is) 1930 2290 w (a) 2044 2290 w (3D) 2133 2290 w (computer) 2305 2290 w (graphics) 2803 2290 w (library) 3251 2290 w (that) 3596 2290 w (provides) 3822 2290 w (a) 4273 2290 w (way) 4363 2290 w (to) 4582 2290 w (set) 1080 2410 w (up) 1265 2410 w (a) 1431 2410 w (scene,) 1527 2410 w (fill) 1876 2410 w (it) 2041 2410 w (up) 2148 2410 w (with) 2314 2410 w (a) 2560 2410 w (bunch) 2656 2410 w (of) 2997 2410 w (models) 3135 2410 w (\(with) 3528 2410 w (their) 3806 2410 w (own) 4071 2410 w (meshes) 4311 2410 w (and) 1080 2530 w (materials\),) 1303 2530 w (lights) 1857 2530 w (and) 2170 2530 w (cameras,) 2393 2530 w (and) 2870 2530 w (start) 3093 2530 w (taking) 3357 2530 w (pictures) 3703 2530 w (at) 4136 2530 w (the) 4271 2530 w (user) 4470 2530 w (request.) 1080 2650 w (It) 1562 2650 w (implements) 1680 2650 w (a) 2301 2650 w (fully) 2408 2650 w (concurrent) 2669 2650 w (retained) 3245 2650 w (mode) 3696 2650 w (software) 4021 2650 w (ren\255) 4488 2650 w (derer,) 1080 2770 w (with) 1418 2770 w (support) 1672 2770 w (for) 2099 2770 w (vertex) 2287 2770 w (and) 2639 2770 w (fragment/pixel) 2868 2770 w (shaders) 3652 2770 w (written) 4081 2770 w (in) 4470 2770 w (C) 4611 2770 w (\(not) 1080 2890 w (GPU) 1326 2890 w (ones,) 1575 2890 w (at) 1890 2890 w (least) 2035 2890 w (for) 2316 2890 w (now\),) 2508 2890 w (and) 2825 2890 w (featuring) 3057 2890 w (a) 3550 2890 w (z-buffer,) 3657 2890 w (front-) 4152 2890 w (and) 4500 2890 w (back-face) 1080 3010 w (culling,) 1598 3010 w (textures) 1988 3010 w (and) 2424 3010 w (skyboxes,) 2639 3010 w (directional) 3159 3010 w (and) 3707 3010 w (punctual) 3922 3010 w (lights,) 4378 3010 w (tangent-space normal mapping, among other things.) 1080 3130 w 10 /LucidaSans-Demi f (Introduction) 720 3490 w 10 /LucidaSansUnicode00 f (Write the intro last.) 970 3682 w 10 /LucidaSans-Demi f (1.) 720 3922 w (The scene) 873 3922 w 9 /LucidaTypewriter f (struct) 920 4128 w (Scene) 1375 4128 w ({) 920 4238 w (char) 1440 4348 w (*name;) 1765 4348 w (Entity) 1440 4458 w (ents;) 1895 4458 w (ulong) 1440 4568 w (nents;) 1830 4568 w (Cubemap) 1440 4678 w (*skybox;) 1960 4678 w (void) 1440 4898 w (\(*addent\)\(Scene*,) 1765 4898 w (Entity*\);) 2935 4898 w (void) 1440 5008 w (\(*delent\)\(Scene*,) 1765 5008 w (Entity*\);) 2935 5008 w (};) 920 5118 w 10 /LucidaSansUnicode00 f (A) 970 5334 w 10 /LucidaSans-Italic f (scene) 1073 5334 w 10 /LucidaSansUnicode00 f (is) 1374 5334 w (a) 1488 5334 w (container,) 1577 5334 w (represented) 2097 5334 w (as) 2713 5334 w (a) 2853 5334 w (graph,) 2942 5334 w (that) 3291 5334 w (hosts) 3516 5334 w (the) 3812 5334 w (entities) 4001 5334 w (that) 4392 5334 w (make) 4618 5334 w (up) 4915 5334 w (the) 720 5454 w (world.) 913 5454 w (Each) 1286 5454 w (of) 1545 5454 w (these) 1680 5454 w (entities) 1979 5454 w (has) 2373 5454 w (a) 2578 5454 w (model) 2670 5454 w (made) 3009 5454 w (out) 3313 5454 w (of) 3510 5454 w (a) 3645 5454 w (series) 3737 5454 w (of) 4058 5454 w (meshes,) 4193 5454 w (which) 4631 5454 w (in) 4949 5454 w (turn) 720 5574 w (are) 977 5574 w (made) 1184 5574 w (out) 1506 5574 w (of) 1721 5574 w (geometric) 1874 5574 w (primitives) 2415 5574 w (\(only) 2950 5574 w 10 /LucidaSans-Italic f (points) 3242 5574 w 10 /LucidaSansUnicode00 f (,) 3538 5574 w 10 /LucidaSans-Italic f (lines) 3625 5574 w 10 /LucidaSansUnicode00 f (and) 3902 5574 w 10 /LucidaSans-Italic f (triangles) 4137 5574 w 10 /LucidaSansUnicode00 f (are) 4623 5574 w (sup\255) 4831 5574 w (ported.\) Each model also stores a list of materials.) 720 5694 w (September 9, 2024) 2415 7680 w cleartomark showpage saveobj restore %%EndPage: 1 1 %%Page: 2 2 /saveobj save def mark 2 pagesetup 10 /LucidaSansUnicode00 f (\255 2 \255) 2783 480 w 2196 1026 2196 882 Dl 2196 882 2556 882 Dl 2556 882 2556 1026 Dl 2556 1026 2196 1026 Dl 7 /LucidaSansUnicode00 f (Scene) 2279 968 w 2376 1026 2376 1170 Dl 2376 1170 2448 1170 Dl 2448 1242 2448 1098 Dl 2448 1098 2808 1098 Dl 2808 1098 2808 1242 Dl 2808 1242 2448 1242 Dl (Entity) 2534 1184 w 2628 1242 2628 1386 Dl 2628 1386 2700 1386 Dl 2700 1458 2700 1314 Dl 2700 1314 3060 1314 Dl 3060 1314 3060 1458 Dl 3060 1458 2700 1458 Dl (Model) 2777 1400 w 2880 1458 2880 1602 Dl 2880 1602 2952 1602 Dl 2952 1674 2988 1674 Dl 3033 1674 3069 1674 Dl 3114 1674 3150 1674 Dl 3195 1674 3231 1674 Dl 3276 1674 3312 1674 Dl 3312 1674 3312 1638 Dl 3312 1620 3312 1584 Dl 3312 1566 3312 1530 Dl 3312 1530 3276 1530 Dl 3231 1530 3195 1530 Dl 3150 1530 3114 1530 Dl 3069 1530 3033 1530 Dl 2988 1530 2952 1530 Dl 2952 1530 2952 1566 Dl 2952 1584 2952 1620 Dl 2952 1638 2952 1674 Dl (Mesh) 3043 1616 w 3132 1674 3132 1818 Dl 3132 1818 3204 1818 Dl 3204 1890 3204 1746 Dl 3204 1746 3564 1746 Dl 3564 1746 3564 1890 Dl 3564 1890 3204 1890 Dl (Primitive) 3237 1832 w 3132 1818 3132 1962 Dl 3132 1962 3132 2106 Dl 3132 2106 3204 2106 Dl 3204 2178 3204 2034 Dl 3204 2034 3564 2034 Dl 3564 2034 3564 2178 Dl 3564 2178 3204 2178 Dl (Material) 3248 2120 w 10 /LucidaSans-Demi f (Figure 1) 2219 2376 w 10 /LucidaSansUnicode00 f (: The scene graph.) 2641 2376 w 10 /LucidaSans-Demi f (1.1.) 720 2616 w (Entities) 962 2616 w 9 /LucidaTypewriter f (struct) 920 2822 w (Entity) 1375 2822 w ({) 920 2932 w (RFrame3;) 1440 3042 w (char) 1440 3152 w (*name;) 1765 3152 w (Model) 1440 3262 w (*mdl;) 1830 3262 w (Entity) 1440 3482 w (*prev,) 1895 3482 w (*next;) 2350 3482 w (};) 920 3592 w 10 /LucidaSans-Italic f (Entities) 970 3808 w 10 /LucidaSansUnicode00 f (represent physical objects in the scene.) 1355 3808 w 10 /LucidaSans-Demi f (1.2.) 720 4048 w (Models) 962 4048 w 9 /LucidaTypewriter f (struct) 920 4254 w (Model) 1375 4254 w ({) 920 4364 w (Primitive) 1440 4474 w (*prims;) 2090 4474 w (ulong) 1440 4584 w (nprims;) 1830 4584 w (Material) 1440 4694 w (*materials;) 2025 4694 w (ulong) 1440 4804 w (nmaterials;) 1830 4804 w (};) 920 4914 w 10 /LucidaSans-Demi f (1.3.) 720 5214 w (Meshes) 962 5214 w (1.4.) 720 5454 w (Primitives) 962 5454 w 9 /LucidaTypewriter f (struct) 920 5660 w (Primitive) 1375 5660 w ({) 920 5770 w (int) 1440 5880 w (type;) 1700 5880 w (Vertex) 1440 5990 w (v[3];) 1895 5990 w (Material) 1440 6100 w (*mtl;) 2025 6100 w (Point3) 1440 6210 w (tangent;) 1895 6210 w (/*) 2480 6210 w (used) 2675 6210 w (for) 3000 6210 w (normal) 3260 6210 w (mapping) 3715 6210 w (*/) 4235 6210 w (};) 920 6320 w 10 /LucidaSans-Demi f (1.5.) 720 6620 w (Materials) 962 6620 w 10 /LucidaSansUnicode00 f (September 9, 2024) 2415 7680 w cleartomark showpage saveobj restore %%EndPage: 2 2 %%Page: 3 3 /saveobj save def mark 3 pagesetup 10 /LucidaSansUnicode00 f (\255 3 \255) 2783 480 w 9 /LucidaTypewriter f (struct) 920 830 w (Material) 1375 830 w ({) 920 940 w (char) 1440 1050 w (*name;) 1765 1050 w (Color) 1440 1160 w (ambient;) 1830 1160 w (Color) 1440 1270 w (diffuse;) 1830 1270 w (Color) 1440 1380 w (specular;) 1830 1380 w (double) 1440 1490 w (shininess;) 1895 1490 w (Texture) 1440 1600 w (*diffusemap;) 1960 1600 w (Texture) 1440 1710 w (*normalmap;) 1960 1710 w (};) 920 1820 w 10 /LucidaSans-Demi f (2.) 720 2120 w (Cameras) 873 2120 w 9 /LucidaTypewriter f (struct) 920 2326 w (Camera) 1375 2326 w ({) 920 2436 w (RFrame3;) 1440 2546 w (/*) 3000 2546 w (VCS) 3195 2546 w (*/) 3455 2546 w (Viewport) 1440 2656 w (*view;) 2025 2656 w (Scene) 1440 2766 w (*scene;) 1830 2766 w (Renderer) 1440 2876 w (*rctl;) 2025 2876 w (double) 1440 2986 w (fov;) 1895 2986 w (/*) 3000 2986 w (vertical) 3195 2986 w (FOV) 3780 2986 w (*/) 4040 2986 w (struct) 1440 3096 w ({) 1895 3096 w (double) 1960 3206 w (n,) 2415 3206 w (f;) 2610 3206 w (/*) 3000 3206 w (near) 3195 3206 w (and) 3520 3206 w (far) 3780 3206 w (clipping) 4040 3206 w (planes) 4625 3206 w (*/) 5080 3206 w (}) 1440 3316 w (clip;) 1570 3316 w (Matrix3) 1440 3426 w (proj;) 1960 3426 w (/*) 3000 3426 w (VCS) 3195 3426 w (to) 3455 3426 w (clip) 3650 3426 w (space) 3975 3426 w (xform) 4365 3426 w (*/) 4755 3426 w (Projection) 1440 3536 w (projtype;) 2155 3536 w (ulong) 1440 3646 w (clearcolor;) 1830 3646 w (int) 1440 3756 w (cullmode;) 1700 3756 w (int) 1440 3866 w (enableblend;) 1700 3866 w (int) 1440 3976 w (enabledepth;) 1700 3976 w (int) 1440 4086 w (enableAbuff;) 1700 4086 w (};) 920 4196 w 10 /LucidaSans-Demi f (3.) 720 4496 w (The renderer) 873 4496 w 10 /LucidaSansUnicode00 f (The) 720 4652 w 10 /LucidaSans-Italic f (renderer) 938 4652 w 10 /LucidaSansUnicode00 f (is) 1401 4652 w (the) 1518 4652 w (core) 1710 4652 w (of) 1956 4652 w (the) 2091 4652 w (library.) 2283 4652 w (It) 2662 4652 w (follows) 2766 4652 w (a) 3149 4652 w 10 /LucidaSans-Demi f (retained) 3242 4652 w (mode) 3708 4652 w 10 /LucidaSansUnicode00 f (model,) 4032 4652 w (which) 4404 4652 w (means) 4723 4652 w (that) 720 4772 w (the) 955 4772 w (user) 1154 4772 w (won) 1408 4772 w 10 /LucidaSansUnicode20 f (\031) 1608 4772 w 10 /LucidaSansUnicode00 f (t) 1640 4772 w (get) 1721 4772 w (a) 1920 4772 w (picture) 2019 4772 w (until) 2402 4772 w (the) 2665 4772 w (entire) 2864 4772 w (scene) 3189 4772 w (has) 3509 4772 w (been) 3721 4772 w (rendered.) 4002 4772 w (Thanks) 4548 4772 w (to) 4942 4772 w (this) 720 4892 w (we) 939 4892 w (can) 1112 4892 w (apply) 1320 4892 w (optimizations) 1622 4892 w (to) 2326 4892 w (make) 2465 4892 w (better) 2768 4892 w (use) 3099 4892 w (of) 3309 4892 w (the) 3448 4892 w (pipeline,) 3644 4892 w (clear) 4104 4892 w (and) 4377 4892 w (swap) 4598 4892 w (the) 4885 4892 w (framebuffers,) 720 5012 w (and) 1419 5012 w 10 /LucidaSansUnicode20 f (\024) 1599 5012 w 10 /LucidaSansUnicode00 f (in) 1699 5012 w (the) 1828 5012 w (future) 2020 5012 w 10 /LucidaSansUnicode20 f (\024) 2315 5012 w 10 /LucidaSansUnicode00 f (run) 2415 5012 w (distributed) 2617 5012 w (rendering) 3185 5012 w (jobs,) 3694 5012 w (all) 3968 5012 w (without) 4118 5012 w (their) 4520 5012 w (inter\255) 4782 5012 w (vention; they only need to concern themselves with shooting and ) 720 5132 w 10 /LucidaSansUnicode20 f (\034) 3914 5132 w 10 /LucidaSansUnicode00 f (developing) 3951 5132 w 10 /LucidaSansUnicode20 f (\035) 4484 5132 w 10 /LucidaSansUnicode00 f (a camera.) 4553 5132 w (It) 720 5288 w 10 /LucidaSansUnicode20 f (\031) 786 5288 w 10 /LucidaSansUnicode00 f (s) 818 5288 w (implemented) 974 5288 w (as) 1716 5288 w (a) 1927 5288 w (tree) 2087 5288 w (of) 2382 5288 w (concurrent) 2585 5288 w (processes) 3214 5288 w (connected) 3800 5288 w (by) 4404 5288 w (buffered) 4625 5288 w 10 /LucidaTypewriter f (Channel) 720 5408 w 10 /LucidaSansUnicode00 f (s) 1224 5408 w 10 /LucidaSansUnicode20 f (\024) 1275 5408 w 10 /LucidaSansUnicode00 f (as) 1375 5408 w (seen) 1520 5408 w (in) 1784 5408 w 10 /LucidaSans-Demi f (Figure) 1914 5408 w (2) 2278 5408 w 10 /LucidaSansUnicode20 f (\024) 2342 5408 w 10 /LucidaSansUnicode00 f (,) 2442 5408 w (spawned) 2512 5408 w (with) 2977 5408 w (a) 3220 5408 w (call) 3313 5408 w (to) 3515 5408 w 10 /LucidaTypewriter f (initgraphics) 3651 5408 w 10 /LucidaSansUnicode00 f (,) 4515 5408 w (each) 4585 5408 w (rep\255) 4847 5408 w (resenting a stage of the pipeline:) 720 5528 w (September 9, 2024) 2415 7680 w cleartomark showpage saveobj restore %%EndPage: 3 3 %%Page: 4 4 /saveobj save def mark 4 pagesetup 10 /LucidaSansUnicode00 f (\255 4 \255) 2783 480 w 1026 2034 1026 1674 Dl 1026 1674 1566 1674 Dl 1566 1674 1566 2034 Dl 1566 2034 1026 2034 Dl 7 /LucidaSansUnicode00 f (Renderjob) 1123 1868 w 1566 1854 1926 1854 Dl 1854 1872 1926 1854 Dl 1853 1867 1925 1854 Dl 1852 1863 1925 1854 Dl 1851 1858 1925 1854 Dl 1851 1854 1925 1854 Dl 1851 1849 1925 1853 Dl 1852 1844 1925 1853 Dl 1853 1840 1925 1853 Dl 1854 1836 1926 1854 Dl 1926 1854 432 432 De (renderer) 1997 1868 w 2358 1854 2718 1854 Dl 2646 1872 2718 1854 Dl 2645 1867 2717 1854 Dl 2644 1863 2717 1854 Dl 2643 1858 2717 1854 Dl 2643 1854 2717 1854 Dl 2643 1849 2717 1853 Dl 2644 1844 2717 1853 Dl 2645 1840 2717 1853 Dl 2646 1836 2718 1854 Dl 2718 1854 432 432 De (entityproc) 2763 1868 w 3510 1098 432 432 De (tiler) 3626 1112 w (1) 3782 1112 w 3510 1602 432 432 De (tiler) 3626 1616 w (2) 3782 1616 w 3510 2106 432 432 De 7 /LucidaSansUnicode20 f (&) 3691 2120 w 3510 2610 432 432 De 7 /LucidaSansUnicode00 f (tiler) 3627 2624 w (n) 3783 2624 w 4302 1098 432 432 De (rasterizer) 4322 1112 w (1) 4670 1112 w 4302 1602 432 432 De (rasterizer) 4322 1616 w (2) 4670 1616 w 4302 2106 432 432 De 7 /LucidaSansUnicode20 f (&) 4483 2120 w 4302 2610 432 432 De 7 /LucidaSansUnicode00 f (rasterizer) 4323 2624 w (n) 4671 2624 w 3090 1704 3569 1247 Dl 3530 1309 3569 1247 Dl 3526 1307 3569 1247 Dl 3522 1304 3568 1247 Dl 3519 1301 3569 1247 Dl 3515 1298 3569 1247 Dl 3512 1295 3568 1248 Dl 3510 1291 3569 1247 Dl 3507 1287 3568 1247 Dl 3504 1283 3568 1247 Dl 3139 1788 3519 1668 Dl 3456 1706 3519 1668 Dl 3454 1702 3519 1667 Dl 3452 1698 3519 1668 Dl 3450 1694 3519 1668 Dl 3449 1689 3519 1667 Dl 3448 1685 3520 1667 Dl 3447 1681 3519 1668 Dl 3446 1676 3519 1667 Dl 3445 1671 3519 1667 Dl 3139 1919 3519 2039 Dl 3445 2036 3519 2040 Dl 3446 2031 3519 2040 Dl 3447 2026 3519 2039 Dl 3448 2022 3520 2040 Dl 3449 2018 3519 2040 Dl 3450 2013 3519 2039 Dl 3452 2009 3519 2039 Dl 3454 2005 3519 2040 Dl 3456 2001 3519 2039 Dl 3090 2003 3569 2460 Dl 3504 2424 3568 2460 Dl 3507 2420 3568 2460 Dl 3510 2416 3569 2460 Dl 3512 2412 3568 2459 Dl 3515 2409 3569 2460 Dl 3519 2406 3569 2460 Dl 3522 2403 3568 2460 Dl 3526 2400 3569 2460 Dl 3530 2398 3569 2460 Dl 3942 1098 4302 1098 Dl 4230 1116 4302 1098 Dl 4229 1111 4301 1098 Dl 4228 1107 4301 1098 Dl 4227 1102 4301 1098 Dl 4227 1098 4301 1098 Dl 4227 1093 4301 1097 Dl 4228 1088 4301 1097 Dl 4229 1084 4301 1097 Dl 4230 1080 4302 1098 Dl 3908 1213 4335 1485 Dl 4265 1462 4335 1485 Dl 4266 1458 4335 1486 Dl 4268 1454 4334 1485 Dl 4271 1450 4335 1486 Dl 4273 1446 4335 1485 Dl 4275 1442 4334 1485 Dl 4278 1438 4335 1485 Dl 4281 1435 4335 1485 Dl 4284 1432 4335 1486 Dl 3859 1267 4383 1935 Dl 4325 1890 4383 1935 Dl 4328 1887 4383 1935 Dl 4332 1883 4384 1935 Dl 4335 1880 4384 1935 Dl 4338 1877 4384 1935 Dl 4342 1874 4384 1935 Dl 4345 1872 4383 1935 Dl 4350 1870 4384 1935 Dl 4354 1868 4384 1935 Dl 3826 1289 4417 2418 Dl 4368 2363 4417 2418 Dl 4371 2360 4417 2418 Dl 4375 2357 4417 2418 Dl 4379 2355 4417 2418 Dl 4383 2352 4417 2417 Dl 4387 2350 4417 2417 Dl 4391 2349 4416 2418 Dl 4395 2347 4416 2418 Dl 4400 2346 4417 2418 Dl 3908 1486 4335 1214 Dl 4284 1267 4335 1213 Dl 4281 1264 4335 1214 Dl 4278 1261 4335 1214 Dl 4275 1257 4334 1214 Dl 4273 1253 4335 1214 Dl 4271 1249 4335 1213 Dl 4268 1245 4334 1214 Dl 4266 1242 4335 1214 Dl 4265 1237 4335 1214 Dl 3942 1602 4302 1602 Dl 4230 1620 4302 1602 Dl 4229 1615 4301 1602 Dl 4228 1611 4301 1602 Dl 4227 1606 4301 1602 Dl 4227 1602 4301 1602 Dl 4227 1597 4301 1601 Dl 4228 1592 4301 1601 Dl 4229 1588 4301 1601 Dl 4230 1584 4302 1602 Dl 3908 1717 4335 1989 Dl 4265 1966 4335 1989 Dl 4266 1962 4335 1990 Dl 4268 1958 4334 1989 Dl 4271 1954 4335 1990 Dl 4273 1950 4335 1989 Dl 4275 1946 4334 1989 Dl 4278 1942 4335 1989 Dl 4281 1939 4335 1989 Dl 4284 1936 4335 1990 Dl 3859 1771 4383 2439 Dl 4325 2394 4383 2439 Dl 4328 2391 4383 2439 Dl 4332 2387 4384 2439 Dl 4335 2384 4384 2439 Dl 4338 2381 4384 2439 Dl 4342 2378 4384 2439 Dl 4345 2376 4383 2439 Dl 4350 2374 4384 2439 Dl 4354 2372 4384 2439 Dl 10 /LucidaSans-Demi f (Figure 2) 1437 3024 w 10 /LucidaSansUnicode00 f (: The rendering graph for a) 1859 3024 w 10 /LucidaSans-Demi f (2n) 3213 3024 w 10 /LucidaSansUnicode00 f (processor machine.) 3375 3024 w 10 /LucidaSans-Demi f (3.1.) 720 3264 w (renderer) 962 3264 w 10 /LucidaSansUnicode00 f (The) 970 3420 w 10 /LucidaSans-Demi f (renderer) 1234 3420 w 10 /LucidaSansUnicode00 f (process,) 1761 3420 w (the) 2250 3420 w (root) 2488 3420 w (of) 2771 3420 w (the) 2952 3420 w (tree,) 3190 3420 w (waits) 3495 3420 w (on) 3828 3420 w (a) 4035 3420 w 10 /LucidaTypewriter f (channel) 4174 3420 w 10 /LucidaSansUnicode00 f (for) 4762 3420 w (a) 4985 3420 w 10 /LucidaTypewriter f (Renderjob) 720 3540 w 10 /LucidaSansUnicode00 f (sent) 1405 3540 w (by) 1648 3540 w (another) 1800 3540 w (user) 2210 3540 w (process,) 2456 3540 w (specifying) 2898 3540 w (a) 3426 3540 w (framebuffer,) 3517 3540 w (a) 4163 3540 w (scene,) 4254 3540 w (a) 4598 3540 w (camera) 4689 3540 w (and) 720 3660 w (a) 936 3660 w (shader) 1027 3660 w (table.) 1391 3660 w (It) 1731 3660 w (walks) 1833 3660 w (the) 2139 3660 w (scene) 2330 3660 w (and) 2642 3660 w (sends) 2858 3660 w (each) 3177 3660 w 10 /LucidaTypewriter f (Entity) 3437 3660 w 10 /LucidaSansUnicode00 f (individually) 3905 3660 w (to) 4496 3660 w (the) 4631 3660 w (enti\255) 4823 3660 w (typroc.) 720 3780 w 10 /LucidaSans-Demi f (3.2.) 720 4020 w (entityproc) 962 4020 w 10 /LucidaSansUnicode00 f (The) 970 4176 w 10 /LucidaSans-Demi f (entityproc) 1198 4176 w 10 /LucidaSansUnicode00 f (receives) 1771 4176 w (an) 2210 4176 w (entity) 2374 4176 w (and) 2694 4176 w (splits) 2921 4176 w (its) 3228 4176 w (geometry) 3393 4176 w (equitatively) 3899 4176 w (among) 4504 4176 w (the) 4885 4176 w (tilers, sending a batch for each of them to process.) 720 4296 w 10 /LucidaSans-Demi f (3.3.) 720 4536 w (tilers) 962 4536 w 10 /LucidaSansUnicode00 f (Next,) 970 4692 w (each) 1293 4692 w 10 /LucidaSans-Demi f (tiler) 1580 4692 w 10 /LucidaSansUnicode00 f (gets) 1854 4692 w (to) 2123 4692 w (work) 2284 4692 w (on) 2584 4692 w (their) 2770 4692 w (subset) 3058 4692 w (of) 3441 4692 w (the) 3602 4692 w (geometry,) 3821 4692 w (potentially) 4375 4692 w (in) 4949 4692 w (parallel) 720 4812 w 10 /LucidaSansUnicode20 f (\024) 1077 4812 w 10 /LucidaSansUnicode00 f (see) 1177 4812 w 10 /LucidaSans-Demi f (Figure) 1376 4812 w (3) 1738 4812 w 10 /LucidaSansUnicode00 f (.) 1802 4812 w (They) 1902 4812 w (walk) 2171 4812 w (the) 2426 4812 w (list) 2617 4812 w (of) 2799 4812 w (primitives,) 2933 4812 w (then) 3481 4812 w (for) 3734 4812 w (each) 3909 4812 w (of) 4169 4812 w (them) 4303 4812 w (apply) 4587 4812 w (the) 4885 4812 w 10 /LucidaSans-Demi f (vertex) 720 4932 w (shader) 1084 4932 w 10 /LucidaSansUnicode00 f (to) 1478 4932 w (its) 1618 4932 w (vertices) 1777 4932 w (\(which) 2192 4932 w (expects) 2548 4932 w (clip) 2965 4932 w (space) 3179 4932 w (coordinates) 3497 4932 w (in) 4107 4932 w (return\),) 4241 4932 w (perform) 4648 4932 w (frustum) 720 5052 w (culling) 1139 5052 w (and) 1499 5052 w (clipping,) 1715 5052 w (back-face) 2171 5052 w (culling,) 2691 5052 w (and) 3083 5052 w (then) 3299 5052 w (project) 3552 5052 w (them) 3927 5052 w (into) 4210 5052 w (the) 4434 5052 w (viewport) 4624 5052 w (to) 720 5172 w (obtain) 869 5172 w (their) 1227 5172 w (screen) 1503 5172 w (space) 1871 5172 w (coordinates.) 2198 5172 w (Following) 2880 5172 w (this) 3395 5172 w (step,) 3625 5172 w (they) 3915 5172 w (build) 4173 5172 w (a) 4470 5172 w (bounding) 4576 5172 w (box,) 720 5292 w (used) 973 5292 w (to) 1241 5292 w (allocate) 1375 5292 w (each) 1783 5292 w (primitive) 2042 5292 w (into) 2506 5292 w (a) 2730 5292 w (rasterization) 2820 5292 w (bucket,) 3466 5292 w (or) 3860 5292 w 10 /LucidaSans-Demi f (tile) 3997 5292 w 10 /LucidaSansUnicode00 f (,) 4163 5292 w (managed) 4230 5292 w (by) 4711 5292 w (one) 4861 5292 w (of) 720 5412 w (the) 859 5412 w (rasterizers;) 1055 5412 w (as) 1643 5412 w (illustrated) 1790 5412 w (in) 2320 5412 w 10 /LucidaSans-Demi f (Figure) 2452 5412 w (4) 2819 5412 w 10 /LucidaSansUnicode00 f (.) 2883 5412 w (If) 2988 5412 w (it) 3095 5412 w (spans) 3202 5412 w (multiple) 3526 5412 w (tiles,) 3966 5412 w (it) 4242 5412 w (will) 4350 5412 w (be) 4556 5412 w (copied) 4717 5412 w (and sent to each of them.) 720 5532 w (September 9, 2024) 2415 7680 w cleartomark showpage saveobj restore %%EndPage: 4 4 %%Page: 5 5 /saveobj save def mark 5 pagesetup 10 /LucidaSansUnicode00 f (\255 5 \255) 2783 480 w 2070 1710 2106 1710 Dl 2142 1710 2178 1710 Dl 2214 1710 2250 1710 Dl 2286 1710 2322 1710 Dl 2358 1710 2394 1710 Dl 2430 1710 2466 1710 Dl 2502 1710 2538 1710 Dl 2574 1710 2610 1710 Dl 2646 1710 2682 1710 Dl 2718 1710 2754 1710 Dl 2790 1710 2826 1710 Dl 2862 1710 2898 1710 Dl 2934 1710 2970 1710 Dl 2970 1710 2970 1674 Dl 2970 1656 2970 1620 Dl 2970 1602 2970 1566 Dl 2970 1566 2934 1566 Dl 2898 1566 2862 1566 Dl 2826 1566 2790 1566 Dl 2754 1566 2718 1566 Dl 2682 1566 2646 1566 Dl 2610 1566 2574 1566 Dl 2538 1566 2502 1566 Dl 2466 1566 2430 1566 Dl 2394 1566 2358 1566 Dl 2322 1566 2286 1566 Dl 2250 1566 2214 1566 Dl 2178 1566 2142 1566 Dl 2106 1566 2070 1566 Dl 2070 1566 2070 1602 Dl 2070 1620 2070 1656 Dl 2070 1674 2070 1710 Dl 7 /LucidaSansUnicode00 f (tile 1) 2435 1652 w 2070 1854 2106 1854 Dl 2142 1854 2178 1854 Dl 2214 1854 2250 1854 Dl 2286 1854 2322 1854 Dl 2358 1854 2394 1854 Dl 2430 1854 2466 1854 Dl 2502 1854 2538 1854 Dl 2574 1854 2610 1854 Dl 2646 1854 2682 1854 Dl 2718 1854 2754 1854 Dl 2790 1854 2826 1854 Dl 2862 1854 2898 1854 Dl 2934 1854 2970 1854 Dl 2970 1854 2970 1818 Dl 2970 1800 2970 1764 Dl 2970 1746 2970 1710 Dl 2970 1710 2934 1710 Dl 2898 1710 2862 1710 Dl 2826 1710 2790 1710 Dl 2754 1710 2718 1710 Dl 2682 1710 2646 1710 Dl 2610 1710 2574 1710 Dl 2538 1710 2502 1710 Dl 2466 1710 2430 1710 Dl 2394 1710 2358 1710 Dl 2322 1710 2286 1710 Dl 2250 1710 2214 1710 Dl 2178 1710 2142 1710 Dl 2106 1710 2070 1710 Dl 2070 1710 2070 1746 Dl 2070 1764 2070 1800 Dl 2070 1818 2070 1854 Dl (tile 2) 2435 1796 w 2070 1998 2106 1998 Dl 2142 1998 2178 1998 Dl 2214 1998 2250 1998 Dl 2286 1998 2322 1998 Dl 2358 1998 2394 1998 Dl 2430 1998 2466 1998 Dl 2502 1998 2538 1998 Dl 2574 1998 2610 1998 Dl 2646 1998 2682 1998 Dl 2718 1998 2754 1998 Dl 2790 1998 2826 1998 Dl 2862 1998 2898 1998 Dl 2934 1998 2970 1998 Dl 2970 1998 2970 1962 Dl 2970 1944 2970 1908 Dl 2970 1890 2970 1854 Dl 2970 1854 2934 1854 Dl 2898 1854 2862 1854 Dl 2826 1854 2790 1854 Dl 2754 1854 2718 1854 Dl 2682 1854 2646 1854 Dl 2610 1854 2574 1854 Dl 2538 1854 2502 1854 Dl 2466 1854 2430 1854 Dl 2394 1854 2358 1854 Dl 2322 1854 2286 1854 Dl 2250 1854 2214 1854 Dl 2178 1854 2142 1854 Dl 2106 1854 2070 1854 Dl 2070 1854 2070 1890 Dl 2070 1908 2070 1944 Dl 2070 1962 2070 1998 Dl 7 /LucidaSansUnicode20 f (&) 2485 1940 w 2070 2142 2106 2142 Dl 2142 2142 2178 2142 Dl 2214 2142 2250 2142 Dl 2286 2142 2322 2142 Dl 2358 2142 2394 2142 Dl 2430 2142 2466 2142 Dl 2502 2142 2538 2142 Dl 2574 2142 2610 2142 Dl 2646 2142 2682 2142 Dl 2718 2142 2754 2142 Dl 2790 2142 2826 2142 Dl 2862 2142 2898 2142 Dl 2934 2142 2970 2142 Dl 2970 2142 2970 2106 Dl 2970 2088 2970 2052 Dl 2970 2034 2970 1998 Dl 2970 1998 2934 1998 Dl 2898 1998 2862 1998 Dl 2826 1998 2790 1998 Dl 2754 1998 2718 1998 Dl 2682 1998 2646 1998 Dl 2610 1998 2574 1998 Dl 2538 1998 2502 1998 Dl 2466 1998 2430 1998 Dl 2394 1998 2358 1998 Dl 2322 1998 2286 1998 Dl 2250 1998 2214 1998 Dl 2178 1998 2142 1998 Dl 2106 1998 2070 1998 Dl 2070 1998 2070 2034 Dl 2070 2052 2070 2088 Dl 2070 2106 2070 2142 Dl 7 /LucidaSansUnicode00 f (tile n) 2435 2084 w 2034 2178 2034 1530 Dl 2034 1530 3006 1530 Dl 3006 1530 3006 2178 Dl 3006 2178 2034 2178 Dl (Framebuf) 1675 1580 w 3330 1098 432 432 De (rasterizer) 3350 1112 w (1) 3698 1112 w 3330 1602 432 432 De (rasterizer) 3350 1616 w (2) 3698 1616 w 3330 2106 432 432 De 7 /LucidaSansUnicode20 f (&) 3511 2120 w 3330 2610 432 432 De 7 /LucidaSansUnicode00 f (rasterizer) 3351 2624 w (n) 3699 2624 w 2970 1638 3330 1098 Dl 2970 1782 3330 1602 Dl 2970 1926 3330 2106 Dl 2970 2070 3330 2610 Dl 10 /LucidaSans-Demi f (Figure 3) 2180 3024 w 10 /LucidaSansUnicode00 f (: Per tile rasterizers.) 2602 3024 w 10 /LucidaSans-Demi f (3.4.) 720 3264 w (rasterizers) 962 3264 w 10 /LucidaSansUnicode00 f (Finally,) 970 3420 w (the) 1346 3420 w 10 /LucidaSans-Demi f (rasterizers) 1535 3420 w 10 /LucidaSansUnicode00 f (receive) 2128 3420 w (the) 2503 3420 w (primitive) 2692 3420 w (in) 3155 3420 w (screen) 3280 3420 w (space,) 3631 3420 w (slice) 3974 3420 w (it) 4225 3420 w (to) 4326 3420 w (fit) 4459 3420 w (their) 4597 3420 w (tile,) 4857 3420 w (and) 720 3540 w (apply) 935 3540 w (a) 1232 3540 w (rasterization) 1322 3540 w (routine) 1968 3540 w (based) 2351 3540 w (on) 2674 3540 w (its) 2832 3540 w (type.) 2984 3540 w (For) 3291 3540 w (each) 3482 3540 w (of) 3741 3540 w (the) 3874 3540 w (pixels,) 4064 3540 w (a) 4420 3540 w 10 /LucidaSans-Demi f (depth) 4510 3540 w (test) 4842 3540 w 10 /LucidaSansUnicode00 f (is) 720 3660 w (performed,) 845 3660 w (discarding) 1433 3660 w (fragments) 1984 3660 w (that) 2523 3660 w (are) 2759 3660 w (further) 2956 3660 w (away.) 3337 3660 w (Then) 3653 3660 w (a) 3941 3660 w 10 /LucidaSans-Demi f (fragment) 4042 3660 w (shader) 4562 3660 w 10 /LucidaSansUnicode00 f (is) 4960 3660 w (applied and the result written to the framebuffer after blending.) 720 3780 w (Depth) 970 3936 w (testing) 1343 3936 w (and) 1757 3936 w (blending) 2017 3936 w (can) 2523 3936 w (be) 2771 3936 w (disabled) 2970 3936 w (by) 3459 3936 w (clearing) 3654 3936 w (the) 4120 3936 w (camera) 4356 3936 w 10 /LucidaSansUnicode20 f (\031) 4707 3936 w 10 /LucidaSansUnicode00 f (s) 4739 3936 w 10 /LucidaTypewriter f (enabledepth) 970 4056 w 10 /LucidaSansUnicode00 f (and) 1824 4056 w 10 /LucidaTypewriter f (enableblend) 2066 4056 w 10 /LucidaSansUnicode00 f (parameters,) 2920 4056 w (respectively.) 3561 4056 w (An) 4259 4056 w (experi\255) 4451 4056 w (mental) 970 4176 w (A-buffer) 1346 4176 w (implementation) 1813 4176 w (is) 2619 4176 w (also) 2743 4176 w (included) 2983 4176 w (for) 3442 4176 w (order-independent) 3625 4176 w (ren\255) 4598 4176 w (dering) 970 4296 w (of) 1338 4296 w (transparent) 1491 4296 w (primitives) 2106 4296 w (\(OIT\).) 2641 4296 w (If) 2996 4296 w (enabled,) 3117 4296 w (by) 3588 4296 w (setting) 3758 4296 w (the) 4147 4296 w (camera) 4356 4296 w 10 /LucidaSansUnicode20 f (\031) 4707 4296 w 10 /LucidaSansUnicode00 f (s) 4739 4296 w 10 /LucidaTypewriter f (enableAbuff) 970 4416 w 10 /LucidaSansUnicode00 f (parameter,) 1832 4416 w (fragments) 2431 4416 w (will) 2995 4416 w (be) 3229 4416 w (pushed) 3419 4416 w (to) 3847 4416 w (a) 4016 4416 w (depth-sorted) 4142 4416 w (stack,) 970 4536 w (waiting) 1296 4536 w (to) 1689 4536 w (be) 1829 4536 w (blended) 1990 4536 w (back-to-front) 2423 4536 w (and) 3143 4536 w (written) 3364 4536 w (to) 3744 4536 w (the) 3883 4536 w (framebuffer) 4079 4536 w (at) 4698 4536 w (the end of the job.) 970 4656 w 2070 5718 2106 5718 Dl 2142 5718 2178 5718 Dl 2214 5718 2250 5718 Dl 2286 5718 2322 5718 Dl 2358 5718 2394 5718 Dl 2430 5718 2466 5718 Dl 2502 5718 2538 5718 Dl 2574 5718 2610 5718 Dl 2646 5718 2682 5718 Dl 2718 5718 2754 5718 Dl 2790 5718 2826 5718 Dl 2862 5718 2898 5718 Dl 2934 5718 2970 5718 Dl 2970 5718 2970 5682 Dl 2970 5664 2970 5628 Dl 2970 5610 2970 5574 Dl 2970 5574 2934 5574 Dl 2898 5574 2862 5574 Dl 2826 5574 2790 5574 Dl 2754 5574 2718 5574 Dl 2682 5574 2646 5574 Dl 2610 5574 2574 5574 Dl 2538 5574 2502 5574 Dl 2466 5574 2430 5574 Dl 2394 5574 2358 5574 Dl 2322 5574 2286 5574 Dl 2250 5574 2214 5574 Dl 2178 5574 2142 5574 Dl 2106 5574 2070 5574 Dl 2070 5574 2070 5610 Dl 2070 5628 2070 5664 Dl 2070 5682 2070 5718 Dl 7 /LucidaSansUnicode00 f (1) 2498 5660 w 2070 5862 2106 5862 Dl 2142 5862 2178 5862 Dl 2214 5862 2250 5862 Dl 2286 5862 2322 5862 Dl 2358 5862 2394 5862 Dl 2430 5862 2466 5862 Dl 2502 5862 2538 5862 Dl 2574 5862 2610 5862 Dl 2646 5862 2682 5862 Dl 2718 5862 2754 5862 Dl 2790 5862 2826 5862 Dl 2862 5862 2898 5862 Dl 2934 5862 2970 5862 Dl 2970 5862 2970 5826 Dl 2970 5808 2970 5772 Dl 2970 5754 2970 5718 Dl 2970 5718 2934 5718 Dl 2898 5718 2862 5718 Dl 2826 5718 2790 5718 Dl 2754 5718 2718 5718 Dl 2682 5718 2646 5718 Dl 2610 5718 2574 5718 Dl 2538 5718 2502 5718 Dl 2466 5718 2430 5718 Dl 2394 5718 2358 5718 Dl 2322 5718 2286 5718 Dl 2250 5718 2214 5718 Dl 2178 5718 2142 5718 Dl 2106 5718 2070 5718 Dl 2070 5718 2070 5754 Dl 2070 5772 2070 5808 Dl 2070 5826 2070 5862 Dl (2) 2498 5804 w 2070 6006 2106 6006 Dl 2142 6006 2178 6006 Dl 2214 6006 2250 6006 Dl 2286 6006 2322 6006 Dl 2358 6006 2394 6006 Dl 2430 6006 2466 6006 Dl 2502 6006 2538 6006 Dl 2574 6006 2610 6006 Dl 2646 6006 2682 6006 Dl 2718 6006 2754 6006 Dl 2790 6006 2826 6006 Dl 2862 6006 2898 6006 Dl 2934 6006 2970 6006 Dl 2970 6006 2970 5970 Dl 2970 5952 2970 5916 Dl 2970 5898 2970 5862 Dl 2970 5862 2934 5862 Dl 2898 5862 2862 5862 Dl 2826 5862 2790 5862 Dl 2754 5862 2718 5862 Dl 2682 5862 2646 5862 Dl 2610 5862 2574 5862 Dl 2538 5862 2502 5862 Dl 2466 5862 2430 5862 Dl 2394 5862 2358 5862 Dl 2322 5862 2286 5862 Dl 2250 5862 2214 5862 Dl 2178 5862 2142 5862 Dl 2106 5862 2070 5862 Dl 2070 5862 2070 5898 Dl 2070 5916 2070 5952 Dl 2070 5970 2070 6006 Dl 7 /LucidaSansUnicode20 f (&) 2485 5948 w 2070 6150 2106 6150 Dl 2142 6150 2178 6150 Dl 2214 6150 2250 6150 Dl 2286 6150 2322 6150 Dl 2358 6150 2394 6150 Dl 2430 6150 2466 6150 Dl 2502 6150 2538 6150 Dl 2574 6150 2610 6150 Dl 2646 6150 2682 6150 Dl 2718 6150 2754 6150 Dl 2790 6150 2826 6150 Dl 2862 6150 2898 6150 Dl 2934 6150 2970 6150 Dl 2970 6150 2970 6114 Dl 2970 6096 2970 6060 Dl 2970 6042 2970 6006 Dl 2970 6006 2934 6006 Dl 2898 6006 2862 6006 Dl 2826 6006 2790 6006 Dl 2754 6006 2718 6006 Dl 2682 6006 2646 6006 Dl 2610 6006 2574 6006 Dl 2538 6006 2502 6006 Dl 2466 6006 2430 6006 Dl 2394 6006 2358 6006 Dl 2322 6006 2286 6006 Dl 2250 6006 2214 6006 Dl 2178 6006 2142 6006 Dl 2106 6006 2070 6006 Dl 2070 6006 2070 6042 Dl 2070 6060 2070 6096 Dl 2070 6114 2070 6150 Dl 7 /LucidaSansUnicode00 f (n) 2499 6092 w 2142 5898 2592 5754 Dl 2592 5754 2754 6078 Dl 2754 6078 2142 5898 Dl 2034 6186 2034 5538 Dl 2034 5538 3006 5538 Dl 3006 5538 3006 6186 Dl 3006 6186 2034 6186 Dl (Framebuf) 1675 5588 w 3330 5106 432 432 De (rasterizer) 3350 5120 w (1) 3698 5120 w 3330 5610 432 432 De (rasterizer) 3350 5624 w (2) 3698 5624 w 3330 6114 432 432 De 7 /LucidaSansUnicode20 f (&) 3511 6128 w 3330 6618 432 432 De 7 /LucidaSansUnicode00 f (rasterizer) 3351 6632 w (n) 3699 6632 w 2970 5790 3330 5610 Dl 3273 5658 3329 5610 Dl 3270 5654 3329 5610 Dl 3268 5651 3329 5610 Dl 3265 5647 3329 5610 Dl 3263 5643 3329 5610 Dl 3261 5638 3329 5610 Dl 3260 5634 3329 5610 Dl 3258 5630 3329 5610 Dl 3257 5625 3329 5610 Dl 2970 5934 3330 6114 Dl 3257 6098 3329 6113 Dl 3258 6093 3329 6113 Dl 3260 6089 3329 6113 Dl 3261 6085 3329 6113 Dl 3263 6080 3329 6113 Dl 3265 6076 3329 6113 Dl 3268 6072 3329 6113 Dl 3270 6069 3329 6113 Dl 3273 6065 3329 6113 Dl 2970 6078 3330 6618 Dl 3275 6568 3329 6617 Dl 3278 6564 3329 6617 Dl 3281 6561 3329 6617 Dl 3285 6558 3329 6617 Dl 3288 6556 3329 6617 Dl 3292 6553 3329 6617 Dl 3296 6551 3329 6617 Dl 3300 6549 3329 6617 Dl 3304 6548 3329 6617 Dl 10 /LucidaSans-Demi f (Figure 4) 2073 7032 w 10 /LucidaSansUnicode00 f (: Raster task scheduling.) 2495 7032 w (September 9, 2024) 2415 7680 w cleartomark showpage saveobj restore %%EndPage: 5 5 %%Page: 6 6 /saveobj save def mark 6 pagesetup 10 /LucidaSansUnicode00 f (\255 6 \255) 2783 480 w 10 /LucidaSans-Demi f (4.) 720 840 w (Frames of reference) 873 840 w 10 /LucidaSansUnicode00 f (Frames are right-handed throughout every stage.) 970 996 w gsave newpath 3586 1662 m /inpath true def 0.7 setgray 2790 1878 14 14 De gsave eofill grestore 0 setgray stroke grestore /inpath false def 7 /LucidaSansUnicode00 f (p) 2703 1892 w 2797 1878 3514 1940 Dl 3441 1952 3514 1941 Dl 3441 1947 3515 1940 Dl 3440 1943 3514 1941 Dl 3440 1938 3514 1940 Dl 3441 1934 3515 1940 Dl 3441 1929 3514 1939 Dl 3441 1925 3513 1940 Dl 3443 1921 3514 1941 Dl 3444 1916 3513 1940 Dl (bx) 3543 1954 w 2797 1878 2797 1158 Dl 2815 1230 2797 1158 Dl 2811 1230 2798 1158 Dl 2806 1231 2797 1158 Dl 2801 1232 2797 1158 Dl 2797 1232 2797 1158 Dl 2793 1232 2797 1158 Dl 2788 1231 2797 1158 Dl 2783 1230 2796 1158 Dl 2779 1230 2797 1158 Dl (by) 2685 1172 w 2797 1878 2246 2166 Dl 2301 2117 2246 2165 Dl 2304 2119 2246 2165 Dl 2307 2123 2246 2165 Dl 2309 2127 2246 2165 Dl 2311 2131 2246 2165 Dl 2313 2135 2246 2165 Dl 2315 2140 2246 2165 Dl 2317 2144 2246 2165 Dl 2318 2148 2246 2165 Dl (bz) 2132 2180 w 10 /LucidaSans-Demi f (Figure 5) 1897 2364 w 10 /LucidaSansUnicode00 f (: Example right-handed rframe.) 2319 2364 w 10 /LucidaSans-Demi f (5.) 720 2604 w (Viewports) 873 2604 w 10 /LucidaSansUnicode00 f (A) 970 2760 w 10 /LucidaSans-Italic f (viewport) 1084 2760 w 10 /LucidaSansUnicode00 f (is) 1547 2760 w (a) 1673 2760 w (sort) 1774 2760 w (of) 2010 2760 w (virtual) 2154 2760 w (framebuffer,) 2505 2760 w (a) 3161 2760 w (device) 3262 2760 w (that) 3615 2760 w (lets) 3852 2760 w (users) 4071 2760 w (configure) 4378 2760 w (the) 4885 2760 w (way) 720 2880 w (they) 940 2880 w (visualize) 1183 2880 w (a) 1639 2880 w (framebuffer,) 1730 2880 w (which) 2375 2880 w (changes) 2691 2880 w (the) 3125 2880 w (resulting) 3315 2880 w 10 /LucidaSans-Italic f (image) 3779 2880 w 10 /LucidaSansUnicode00 f (\(6\)) 4076 2880 w (after) 4240 2880 w (a) 4501 2880 w (call) 4591 2880 w (to) 4790 2880 w (its) 4923 2880 w 10 /LucidaTypewriter f (draw) 720 3000 w 10 /LucidaSansUnicode00 f (or) 1067 3000 w 10 /LucidaTypewriter f (memdraw) 1228 3000 w 10 /LucidaSansUnicode00 f (methods.) 1791 3000 w (So) 2337 3000 w (far) 2511 3000 w (the) 2703 3000 w (only) 2917 3000 w (feature) 3180 3000 w (available) 3583 3000 w (is) 4065 3000 w (upscaling,) 4204 3000 w (which) 4759 3000 w (includes) 720 3120 w (user-defined) 1174 3120 w (filters) 1859 3120 w (for) 2190 3120 w (specific) 2380 3120 w (ratios,) 2798 3120 w (such) 3155 3120 w (as) 3432 3120 w (the) 3589 3120 w (family) 3795 3120 w (of) 4141 3120 w (pixel) 4289 3120 w (art) 4577 3120 w (filters) 4760 3120 w 10 /LucidaSans-Italic f (Scale[234]x) 720 3240 w 10 /LucidaSansUnicode00 f (,) 1277 3240 w (used) 1349 3240 w (for) 1622 3240 w (2x2,) 1802 3240 w (3x3) 2062 3240 w (and) 2290 3240 w (4x4) 2511 3240 w (scaling) 2739 3240 w (respectively) 3119 3240 w 10 /LucidaSans-Italic f ([SCALE2x]) 3692 3240 w 10 /LucidaSansUnicode00 f (.) 4177 3240 w (Users) 4282 3240 w (control) 4591 3240 w (it) 4974 3240 w (with calls to the viewport) 720 3360 w 10 /LucidaSansUnicode20 f (\031) 1937 3360 w 10 /LucidaSansUnicode00 f (s) 1969 3360 w 10 /LucidaTypewriter f (setscale) 2052 3360 w 10 /LucidaSansUnicode00 f (and) 2660 3360 w 10 /LucidaTypewriter f (setscalefilter) 2872 3360 w 10 /LucidaSansUnicode00 f (methods.) 3912 3360 w 1836 5034 1836 3594 Dl 1836 3594 3996 3594 Dl 3996 3594 3996 5034 Dl 3996 5034 1836 5034 Dl 7 /LucidaSansUnicode00 f (Framebuf) 2755 4904 w gsave newpath 2916 4890 m /inpath true def 0.7 setgray 1828 3594 14 14 De gsave eofill grestore 0 setgray stroke grestore /inpath false def (p) 1742 3608 w 1836 3594 2556 3594 Dl 2484 3612 2556 3594 Dl 2483 3607 2555 3594 Dl 2482 3603 2555 3594 Dl 2481 3598 2555 3594 Dl 2481 3594 2555 3594 Dl 2481 3589 2555 3593 Dl 2482 3584 2555 3593 Dl 2483 3580 2555 3593 Dl 2484 3576 2556 3594 Dl (bx) 2513 3536 w 1836 3594 1836 4314 Dl 1818 4242 1836 4314 Dl 1822 4241 1835 4313 Dl 1826 4240 1835 4313 Dl 1831 4239 1835 4313 Dl 1836 4239 1836 4313 Dl 1840 4239 1836 4313 Dl 1845 4240 1836 4313 Dl 1849 4241 1836 4313 Dl 1854 4242 1836 4314 Dl (by) 1724 4328 w 10 /LucidaSans-Demi f (Figure 6) 1932 5232 w 10 /LucidaSansUnicode00 f (: Illustration of a 3:2 viewport.) 2354 5232 w 10 /LucidaSans-Demi f (References) 720 5472 w 10 /LucidaSansUnicode00 f ([1]) 720 5664 w (https://www.scale2x.it/) 970 5664 w ([2]) 720 5820 w (Thomas) 970 5820 w (W.) 1395 5820 w (Crockett,) 1553 5820 w 10 /LucidaSansUnicode20 f (\034) 2035 5820 w 10 /LucidaSansUnicode00 f (Design) 2072 5820 w (Considerations) 2447 5820 w (for) 3214 5820 w (Parallel) 3393 5820 w (Graphics) 3782 5820 w (Libraries) 4246 5820 w 10 /LucidaSansUnicode20 f (\035) 4664 5820 w 10 /LucidaSansUnicode00 f (,) 4701 5820 w 10 /LucidaSans-Italic f (NASA) 4773 5820 w (Langley Research Center, Contract Nos. NAS1-18605 and NAS1-19480, June 1994) 970 5940 w 10 /LucidaSansUnicode00 f ([3]) 720 6096 w (Thomas) 970 6096 w (W.) 1390 6096 w (Crockett,) 1543 6096 w 10 /LucidaSansUnicode20 f (\034) 2020 6096 w 10 /LucidaSansUnicode00 f (Parallel) 2057 6096 w (Rendering) 2441 6096 w 10 /LucidaSansUnicode20 f (\035) 2935 6096 w 10 /LucidaSansUnicode00 f (,) 2972 6096 w 10 /LucidaSans-Italic f (NASA) 3039 6096 w (Langley) 3341 6096 w (Research) 3753 6096 w (Center,) 4228 6096 w (Contract) 4618 6096 w (No. NAS1-19480, April 1995) 970 6216 w 10 /LucidaSansUnicode00 f ([4]) 720 6372 w (Thomas) 970 6372 w (W.) 1423 6372 w (Crockett,) 1609 6372 w 10 /LucidaSansUnicode20 f (\034) 2119 6372 w 10 /LucidaSansUnicode00 f (Beyond) 2156 6372 w (the) 2576 6372 w (Renderer:) 2799 6372 w (Software) 3337 6372 w (Architecture) 3823 6372 w (for) 4483 6372 w (Parallel) 4691 6372 w (Graphics) 970 6492 w (and) 1442 6492 w (Visualization) 1670 6492 w 10 /LucidaSansUnicode20 f (\035) 2291 6492 w 10 /LucidaSansUnicode00 f (,) 2328 6492 w 10 /LucidaSans-Italic f (NASA) 2408 6492 w (Langley) 2723 6492 w (Research) 3147 6492 w (Center,) 3634 6492 w (Contract) 4036 6492 w (No.) 4506 6492 w (NAS1-) 4716 6492 w (19480, December 1996) 970 6612 w 10 /LucidaSansUnicode00 f ([5]) 720 6768 w (Tomas) 970 6768 w (Akenine-M\366ller) 1332 6768 w (et) 2123 6768 w (al,) 2255 6768 w 10 /LucidaSansUnicode20 f (\034) 2410 6768 w 10 /LucidaSansUnicode00 f (Real-Time) 2447 6768 w (Rendering) 2988 6768 w 10 /LucidaSansUnicode20 f (\035) 3482 6768 w 10 /LucidaSansUnicode00 f (,) 3519 6768 w 10 /LucidaSans-Italic f (4th) 3590 6768 w (edition,) 3792 6768 w (Taylor) 4193 6768 w (&) 4545 6768 w (Francis,) 4655 6768 w (CRC Press, 2018) 970 6888 w 10 /LucidaSansUnicode00 f ([6]) 720 7044 w (James) 970 7044 w (F.) 1323 7044 w (Blinn,) 1476 7044 w (Martin) 1815 7044 w (E.) 2192 7044 w (Newell,) 2346 7044 w 10 /LucidaSansUnicode20 f (\034) 2767 7044 w 10 /LucidaSansUnicode00 f (Clipping) 2804 7044 w (Using) 3278 7044 w (Homogeneous) 3619 7044 w (Coordinates) 4386 7044 w 10 /LucidaSansUnicode20 f (\035) 4971 7044 w 10 /LucidaSansUnicode00 f (,) 5008 7044 w 10 /LucidaSans-Italic f (SIGGRAPH '78: Proceedings, August 1978, pp. 245-251) 970 7164 w 10 /LucidaSansUnicode00 f (September 9, 2024) 2415 7680 w cleartomark showpage saveobj restore %%EndPage: 6 6 %%Page: 7 7 /saveobj save def mark 7 pagesetup 10 /LucidaSansUnicode00 f (\255 7 \255) 2783 480 w ([7]) 720 840 w 10 /LucidaSansUnicode20 f (\034) 970 840 w 10 /LucidaSansUnicode00 f (GPU Gems) 1007 840 w 10 /LucidaSansUnicode20 f (\035) 1507 840 w 10 /LucidaSansUnicode00 f (series) 1576 840 w ([8]) 720 996 w 10 /LucidaSansUnicode20 f (\034) 970 996 w 10 /LucidaSansUnicode00 f (Graphics Gems) 1007 996 w 10 /LucidaSansUnicode20 f (\035) 1735 996 w 10 /LucidaSansUnicode00 f (series) 1804 996 w ([9]) 720 1152 w (Ian) 970 1152 w (Stephenson,) 1180 1152 w 10 /LucidaSansUnicode20 f (\034) 1840 1152 w 10 /LucidaSansUnicode00 f (Production) 1877 1152 w (Rendering:) 2463 1152 w (Design) 3053 1152 w (and) 3452 1152 w (Implementation) 3696 1152 w 10 /LucidaSansUnicode20 f (\035) 4458 1152 w 10 /LucidaSansUnicode00 f (,) 4495 1152 w 10 /LucidaSans-Italic f (Springer,) 4591 1152 w (2005) 970 1272 w 10 /LucidaSansUnicode00 f ([10]) 720 1428 w (Paul) 970 1428 w (S.) 1242 1428 w (Heckbert,) 1399 1428 w 10 /LucidaSansUnicode20 f (\034) 1938 1428 w 10 /LucidaSansUnicode00 f (Survey) 1975 1428 w (of) 2363 1428 w (Texture) 2532 1428 w (Mapping) 2979 1428 w 10 /LucidaSansUnicode20 f (\035) 3399 1428 w 10 /LucidaSansUnicode00 f (,) 3436 1428 w 10 /LucidaSans-Italic f (IEEE) 3539 1428 w (Computer) 3804 1428 w (Graphics) 4355 1428 w (and) 4856 1428 w (Applications, Nov. 1986, pp. 56-67) 970 1548 w 10 /LucidaSansUnicode00 f ([11]) 720 1704 w (Paul) 970 1704 w (S.) 1255 1704 w (Heckbert,) 1425 1704 w 10 /LucidaSansUnicode20 f (\034) 1978 1704 w 10 /LucidaSansUnicode00 f (Fundamentals) 2015 1704 w (of) 2779 1704 w (Texture) 2962 1704 w (Mapping) 3423 1704 w (and) 3928 1704 w (Image) 4193 1704 w (Warping) 4573 1704 w 10 /LucidaSansUnicode20 f (\035) 4971 1704 w 10 /LucidaSansUnicode00 f (,) 5008 1704 w 10 /LucidaSans-Italic f (University) 970 1824 w (of) 1514 1824 w (California,) 1667 1824 w (Berkeley,) 2239 1824 w (Technical) 2737 1824 w (Report) 3253 1824 w (No.) 3631 1824 w (UCB/CSD-89-516,) 3851 1824 w (June) 4822 1824 w (1989) 970 1944 w 10 /LucidaSansUnicode00 f ([12]) 720 2100 w (Robert L. Cook, Loren) 970 2100 w (Carpenter,) 2059 2100 w (Edwin) 2604 2100 w (Catmull) 2922 2100 w 10 /LucidaSansUnicode20 f (\034) 3329 2100 w 10 /LucidaSansUnicode00 f (The) 3366 2100 w (REYES) 3580 2100 w (Image) 3900 2100 w (Rendering) 4228 2100 w (Archi\255) 4755 2100 w (tecture) 970 2220 w 10 /LucidaSansUnicode20 f (\035) 1310 2220 w 10 /LucidaSansUnicode00 f (,) 1347 2220 w 10 /LucidaSans-Italic f (ACM Transactions on Computer Graphics, Vol. 21, No. 4, July 1987) 1411 2220 w 10 /LucidaSansUnicode00 f ([13]) 720 2376 w (Bruce) 970 2376 w (J.) 1281 2376 w (Lindbloom,) 1387 2376 w 10 /LucidaSansUnicode20 f (\034) 1976 2376 w 10 /LucidaSansUnicode00 f (Accurate) 2013 2376 w (Color) 2478 2376 w (Reproduction) 2782 2376 w (for) 3474 2376 w (Computer) 3656 2376 w (Graphics) 4181 2376 w (Applica\255) 4648 2376 w (tions) 970 2496 w 10 /LucidaSansUnicode20 f (\035) 1210 2496 w 10 /LucidaSansUnicode00 f (,) 1247 2496 w 10 /LucidaSans-Italic f (ACM Transactions on Computer Graphics, Vol. 23, No. 3, July 1989) 1311 2496 w 10 /LucidaSansUnicode00 f (September 9, 2024) 2415 7680 w cleartomark showpage saveobj restore %%EndPage: 7 7 %%Trailer done %%DocumentFonts: LucidaSansUnicode20 LucidaSansUnicode00 LucidaSans-Demi LucidaSans-Italic LucidaTypewriter %%Pages: 7