From 6d137698282ca2c04eff4b52ac8e69ac10164a90 Mon Sep 17 00:00:00 2001 From: rodri Date: Mon, 9 Sep 2024 21:33:15 +0000 Subject: doc: changes. added references. --- doc/libgraphics.ms | 135 +++- doc/libgraphics.pdf | Bin 38934 -> 45419 bytes doc/libgraphics.ps | 2182 ++++++++++++++++++++++++++++++--------------------- 3 files changed, 1411 insertions(+), 906 deletions(-) diff --git a/doc/libgraphics.ms b/doc/libgraphics.ms index 595f53e..538fff5 100644 --- a/doc/libgraphics.ms +++ b/doc/libgraphics.ms @@ -53,7 +53,7 @@ series of meshes, which in turn are made out of geometric primitives .I lines and .I triangles -are supported). Each model also stores a list of materials. +are supported.) Each model also stores a list of materials. .PP .KS .PS @@ -139,7 +139,26 @@ struct Material .NH Cameras .PP - +.P1 +struct Camera +{ + RFrame3; /* VCS */ + Viewport *view; + Scene *scene; + Renderer *rctl; + double fov; /* vertical FOV */ + struct { + double n, f; /* near and far clipping planes */ + } clip; + Matrix3 proj; /* VCS to clip space xform */ + Projection projtype; + ulong clearcolor; + int cullmode; + int enableblend; + int enabledepth; + int enableAbuff; +}; +.P2 .NH The renderer .LP @@ -148,31 +167,19 @@ The is the core of the library. It follows a .B "retained mode" model, which means that the user won't get a picture until the entire -scene has been rendered. Thanks to this we can also clear and swap -the framebuffers without their intervention, they only need to concern -themselves with shooting and “developing” a camera. +scene has been rendered. Thanks to this we can apply optimizations to +make better use of the pipeline, clear and swap the framebuffers, +and—in the future—run distributed rendering jobs, all without their +intervention; they only need to concern themselves with shooting and +“developing” a camera. .LP -It's implemented as a tree of concurrent processes connected by +It's implemented as a tree of concurrent processes connected by buffered .CW Channel s—as seen in .B "Figure 2" —, spawned with a call to .CW initgraphics , each representing a stage of the pipeline: -.NH 2 -renderer -.PP -The -.B renderer -process, the root of the tree, waits on a -.CW channel -for a -.CW Renderjob -sent by another user process, specifying a framebuffer, a scene, a -camera and a shader table. It walks the scene and sends each -.CW Entity -individually to the -entityproc. .KS .PS .ps 7 @@ -223,6 +230,20 @@ arrow from Tiler.T1 to Raster.Rn chop .FI "The rendering graph for a \fB2n\fR processor machine." .KE .NH 2 +renderer +.PP +The +.B renderer +process, the root of the tree, waits on a +.CW channel +for a +.CW Renderjob +sent by another user process, specifying a framebuffer, a scene, a +camera and a shader table. It walks the scene and sends each +.CW Entity +individually to the +entityproc. +.NH 2 entityproc .PP The @@ -289,11 +310,25 @@ rasterizers Finally, the .B rasterizers receive the primitive in screen space, slice it to fit their tile, and -apply a rasterization routine based on its type. For each of the pixels, a +apply a rasterization routine based on its type. For each of the +pixels, a .B "depth test" is performed, discarding fragments that are further away. Then a .B "fragment shader" is applied and the result written to the framebuffer after blending. +.QP +Depth testing and blending can be disabled by clearing the camera's +.CW enabledepth +and +.CW enableblend +parameters, respectively. An experimental A-buffer implementation is +also included for order-independent rendering of transparent +primitives (OIT). If enabled, by setting the camera's +.CW enableAbuff +parameter, fragments will be pushed to a depth-sorted stack, waiting +to be blended back-to-front and written to the framebuffer at the end +of the job. +.QE .PP .KS .PS @@ -372,7 +407,7 @@ includes user-defined filters for specific ratios, such as the family of pixel art filters .I Scale[234]x , used for 2x2, 3x3 and 4x4 scaling -.I [REF01] . respectively +.I [SCALE2x] . respectively Users control it with calls to the viewport's .CW setscale and @@ -400,5 +435,59 @@ View: [ .SH References .PP -.IP [REF01] +.IP [1] https://www.scale2x.it/ +.IP [2] +Thomas W. Crockett, +“Design Considerations for Parallel Graphics Libraries”, +.I +NASA Langley Research Center, Contract Nos. NAS1-18605 and NAS1-19480, June 1994 +.IP [3] +Thomas W. Crockett, +“Parallel Rendering”, +.I +NASA Langley Research Center, Contract No. NAS1-19480, April 1995 +.IP [4] +Thomas W. Crockett, +“Beyond the Renderer: Software Architecture for Parallel Graphics and Visualization”, +.I +NASA Langley Research Center, Contract No. NAS1-19480, December 1996 +.IP [5] +Tomas Akenine-Möller et al, +“Real-Time Rendering”, +.I +4th edition, Taylor & Francis, CRC Press, 2018 +.IP [6] +James F. Blinn, Martin E. Newell, +“Clipping Using Homogeneous Coordinates”, +.I +SIGGRAPH '78: Proceedings, August 1978, pp. 245-251 +.IP [7] +“GPU Gems” series +.IP [8] +“Graphics Gems” series +.IP [9] +Ian Stephenson, +“Production Rendering: Design and Implementation”, +.I +Springer, 2005 +.IP [10] +Paul S. Heckbert, +“Survey of Texture Mapping”, +.I +IEEE Computer Graphics and Applications, Nov. 1986, pp. 56-67 +.IP [11] +Paul S. Heckbert, +“Fundamentals of Texture Mapping and Image Warping”, +.I +University of California, Berkeley, Technical Report No. UCB/CSD-89-516, June 1989 +.IP [12] +Robert L. Cook, Loren Carpenter, Edwin Catmull +“The REYES Image Rendering Architecture”, +.I +ACM Transactions on Computer Graphics, Vol. 21, No. 4, July 1987 +.IP [13] +Bruce J. Lindbloom, +“Accurate Color Reproduction for Computer Graphics Applications”, +.I +ACM Transactions on Computer Graphics, Vol. 23, No. 3, July 1989 diff --git a/doc/libgraphics.pdf b/doc/libgraphics.pdf index 09f2cb1..d7add9b 100644 Binary files a/doc/libgraphics.pdf and b/doc/libgraphics.pdf differ diff --git a/doc/libgraphics.ps b/doc/libgraphics.ps index ffbfbca..b84a44c 100644 --- a/doc/libgraphics.ps +++ b/doc/libgraphics.ps @@ -793,8 +793,8 @@ mark 10 /LucidaSansUnicode00 f (are) 4623 5574 w (sup\255) 4831 5574 w -(ported\). Each model also stores a list of materials.) 720 5694 w -(August 24, 2024) 2471 7680 w +(ported.\) Each model also stores a list of materials.) 720 5694 w +(September 9, 2024) 2415 7680 w cleartomark showpage saveobj restore @@ -927,7 +927,7 @@ mark (1.5.) 720 6620 w (Materials) 962 6620 w 10 /LucidaSansUnicode00 f -(August 24, 2024) 2471 7680 w +(September 9, 2024) 2415 7680 w cleartomark showpage saveobj restore @@ -960,372 +960,195 @@ mark 10 /LucidaSans-Demi f (2.) 720 2120 w (Cameras) 873 2120 w -(3.) 720 2516 w -(The renderer) 873 2516 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 2672 w +(The) 720 4652 w 10 /LucidaSans-Italic f -(renderer) 938 2672 w -10 /LucidaSansUnicode00 f -(is) 1401 2672 w -(the) 1518 2672 w -(core) 1710 2672 w -(of) 1956 2672 w -(the) 2091 2672 w -(library.) 2283 2672 w -(It) 2662 2672 w -(follows) 2766 2672 w -(a) 3149 2672 w +(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 2672 w -(mode) 3708 2672 w -10 /LucidaSansUnicode00 f -(model,) 4032 2672 w -(which) 4404 2672 w -(means) 4723 2672 w -(that) 720 2792 w -(the) 955 2792 w -(user) 1154 2792 w -(won) 1408 2792 w -10 /LucidaSansUnicode20 f -(\031) 1608 2792 w -10 /LucidaSansUnicode00 f -(t) 1640 2792 w -(get) 1721 2792 w -(a) 1920 2792 w -(picture) 2019 2792 w -(until) 2402 2792 w -(the) 2665 2792 w -(entire) 2864 2792 w -(scene) 3189 2792 w -(has) 3509 2792 w -(been) 3721 2792 w -(rendered.) 4002 2792 w -(Thanks) 4548 2792 w -(to) 4942 2792 w -(this) 720 2912 w -(we) 944 2912 w -(can) 1122 2912 w -(also) 1335 2912 w -(clear) 1576 2912 w -(and) 1853 2912 w -(swap) 2078 2912 w -(the) 2369 2912 w -(framebuffers) 2569 2912 w -(without) 3243 2912 w -(their) 3653 2912 w -(intervention,) 3923 2912 w -(they) 4584 2912 w -(only) 4836 2912 w -(need to concern themselves with shooting and ) 720 3032 w +(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 -(\034) 3016 3032 w +(\031) 1608 4772 w 10 /LucidaSansUnicode00 f -(developing) 3053 3032 w +(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 -(\035) 3586 3032 w +(\024) 1599 5012 w 10 /LucidaSansUnicode00 f -(a camera.) 3655 3032 w -(It) 720 3188 w +(in) 1699 5012 w +(the) 1828 5012 w +(future) 2020 5012 w 10 /LucidaSansUnicode20 f -(\031) 786 3188 w +(\024) 2315 5012 w 10 /LucidaSansUnicode00 f -(s implemented as a tree of concurrent processes) 818 3188 w -(connected) 3217 3188 w -(by) 3749 3188 w -10 /LucidaTypewriter f -(Channel) 3897 3188 w +(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 -(s) 4401 3188 w +(developing) 3951 5132 w 10 /LucidaSansUnicode20 f -(\024) 4452 3188 w +(\035) 4484 5132 w 10 /LucidaSansUnicode00 f -(as) 4552 3188 w -(seen) 4691 3188 w -(in) 4949 3188 w -10 /LucidaSans-Demi f -(Figure) 720 3308 w -(2) 1088 3308 w +(a camera.) 4553 5132 w +(It) 720 5288 w 10 /LucidaSansUnicode20 f -(\024) 1152 3308 w -10 /LucidaSansUnicode00 f -(,) 1252 3308 w -(spawned) 1326 3308 w -(with) 1795 3308 w -(a) 2042 3308 w -(call) 2139 3308 w -(to) 2345 3308 w -10 /LucidaTypewriter f -(initgraphics) 2485 3308 w -10 /LucidaSansUnicode00 f -(,) 3349 3308 w -(each) 3423 3308 w -(representing) 3689 3308 w -(a) 4347 3308 w -(stage) 4444 3308 w -(of) 4746 3308 w -(the) 4885 3308 w -(pipeline:) 720 3428 w -10 /LucidaSans-Demi f -(3.1.) 720 3668 w -(renderer) 962 3668 w +(\031) 786 5288 w 10 /LucidaSansUnicode00 f -(The) 970 3824 w -10 /LucidaSans-Demi f -(renderer) 1234 3824 w -10 /LucidaSansUnicode00 f -(process,) 1761 3824 w -(the) 2250 3824 w -(root) 2488 3824 w -(of) 2771 3824 w -(the) 2952 3824 w -(tree,) 3190 3824 w -(waits) 3495 3824 w -(on) 3828 3824 w -(a) 4035 3824 w +(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) 4174 3824 w +(Channel) 720 5408 w 10 /LucidaSansUnicode00 f -(for) 4762 3824 w -(a) 4985 3824 w -10 /LucidaTypewriter f -(Renderjob) 720 3944 w -10 /LucidaSansUnicode00 f -(sent) 1405 3944 w -(by) 1648 3944 w -(another) 1800 3944 w -(user) 2210 3944 w -(process,) 2456 3944 w -(specifying) 2898 3944 w -(a) 3426 3944 w -(framebuffer,) 3517 3944 w -(a) 4163 3944 w -(scene,) 4254 3944 w -(a) 4598 3944 w -(camera) 4689 3944 w -(and) 720 4064 w -(a) 936 4064 w -(shader) 1027 4064 w -(table.) 1391 4064 w -(It) 1731 4064 w -(walks) 1833 4064 w -(the) 2139 4064 w -(scene) 2330 4064 w -(and) 2642 4064 w -(sends) 2858 4064 w -(each) 3177 4064 w -10 /LucidaTypewriter f -(Entity) 3437 4064 w -10 /LucidaSansUnicode00 f -(individually) 3905 4064 w -(to) 4496 4064 w -(the) 4631 4064 w -(enti\255) 4823 4064 w -(typroc.) 720 4184 w -1026 5498 1026 5138 Dl -1026 5138 1566 5138 Dl -1566 5138 1566 5498 Dl -1566 5498 1026 5498 Dl -7 /LucidaSansUnicode00 f -(Renderjob) 1123 5332 w -1566 5318 1926 5318 Dl -1854 5336 1926 5318 Dl -1853 5331 1925 5318 Dl -1852 5327 1925 5318 Dl -1851 5322 1925 5318 Dl -1851 5318 1925 5318 Dl -1851 5313 1925 5317 Dl -1852 5308 1925 5317 Dl -1853 5304 1925 5317 Dl -1854 5300 1926 5318 Dl -1926 5318 432 432 De -(renderer) 1997 5332 w -2358 5318 2718 5318 Dl -2646 5336 2718 5318 Dl -2645 5331 2717 5318 Dl -2644 5327 2717 5318 Dl -2643 5322 2717 5318 Dl -2643 5318 2717 5318 Dl -2643 5313 2717 5317 Dl -2644 5308 2717 5317 Dl -2645 5304 2717 5317 Dl -2646 5300 2718 5318 Dl -2718 5318 432 432 De -(entityproc) 2763 5332 w -3510 4562 432 432 De -(tiler) 3626 4576 w -(1) 3782 4576 w -3510 5066 432 432 De -(tiler) 3626 5080 w -(2) 3782 5080 w -3510 5570 432 432 De -7 /LucidaSansUnicode20 f -(&) 3691 5584 w -3510 6074 432 432 De -7 /LucidaSansUnicode00 f -(tiler) 3627 6088 w -(n) 3783 6088 w -4302 4562 432 432 De -(rasterizer) 4322 4576 w -(1) 4670 4576 w -4302 5066 432 432 De -(rasterizer) 4322 5080 w -(2) 4670 5080 w -4302 5570 432 432 De -7 /LucidaSansUnicode20 f -(&) 4483 5584 w -4302 6074 432 432 De -7 /LucidaSansUnicode00 f -(rasterizer) 4323 6088 w -(n) 4671 6088 w -3090 5168 3569 4711 Dl -3530 4773 3569 4711 Dl -3526 4771 3569 4711 Dl -3522 4768 3568 4711 Dl -3519 4765 3569 4711 Dl -3515 4762 3569 4711 Dl -3512 4759 3568 4712 Dl -3510 4755 3569 4711 Dl -3507 4751 3568 4711 Dl -3504 4747 3568 4711 Dl -3139 5252 3519 5132 Dl -3456 5170 3519 5132 Dl -3454 5166 3519 5131 Dl -3452 5162 3519 5132 Dl -3450 5158 3519 5132 Dl -3449 5153 3519 5131 Dl -3448 5149 3520 5131 Dl -3447 5145 3519 5132 Dl -3446 5140 3519 5131 Dl -3445 5135 3519 5131 Dl -3139 5383 3519 5503 Dl -3445 5500 3519 5504 Dl -3446 5495 3519 5504 Dl -3447 5490 3519 5503 Dl -3448 5486 3520 5504 Dl -3449 5482 3519 5504 Dl -3450 5477 3519 5503 Dl -3452 5473 3519 5503 Dl -3454 5469 3519 5504 Dl -3456 5465 3519 5503 Dl -3090 5467 3569 5924 Dl -3504 5888 3568 5924 Dl -3507 5884 3568 5924 Dl -3510 5880 3569 5924 Dl -3512 5876 3568 5923 Dl -3515 5873 3569 5924 Dl -3519 5870 3569 5924 Dl -3522 5867 3568 5924 Dl -3526 5864 3569 5924 Dl -3530 5862 3569 5924 Dl -3942 4562 4302 4562 Dl -4230 4580 4302 4562 Dl -4229 4575 4301 4562 Dl -4228 4571 4301 4562 Dl -4227 4566 4301 4562 Dl -4227 4562 4301 4562 Dl -4227 4557 4301 4561 Dl -4228 4552 4301 4561 Dl -4229 4548 4301 4561 Dl -4230 4544 4302 4562 Dl -3908 4677 4335 4949 Dl -4265 4926 4335 4949 Dl -4266 4922 4335 4950 Dl -4268 4918 4334 4949 Dl -4271 4914 4335 4950 Dl -4273 4910 4335 4949 Dl -4275 4906 4334 4949 Dl -4278 4902 4335 4949 Dl -4281 4899 4335 4949 Dl -4284 4896 4335 4950 Dl -3859 4731 4383 5399 Dl -4325 5354 4383 5399 Dl -4328 5351 4383 5399 Dl -4332 5347 4384 5399 Dl -4335 5344 4384 5399 Dl -4338 5341 4384 5399 Dl -4342 5338 4384 5399 Dl -4345 5336 4383 5399 Dl -4350 5334 4384 5399 Dl -4354 5332 4384 5399 Dl -3826 4753 4417 5882 Dl -4368 5827 4417 5882 Dl -4371 5824 4417 5882 Dl -4375 5821 4417 5882 Dl -4379 5819 4417 5882 Dl -4383 5816 4417 5881 Dl -4387 5814 4417 5881 Dl -4391 5813 4416 5882 Dl -4395 5811 4416 5882 Dl -4400 5810 4417 5882 Dl -3908 4950 4335 4678 Dl -4284 4731 4335 4677 Dl -4281 4728 4335 4678 Dl -4278 4725 4335 4678 Dl -4275 4721 4334 4678 Dl -4273 4717 4335 4678 Dl -4271 4713 4335 4677 Dl -4268 4709 4334 4678 Dl -4266 4706 4335 4678 Dl -4265 4701 4335 4678 Dl -3942 5066 4302 5066 Dl -4230 5084 4302 5066 Dl -4229 5079 4301 5066 Dl -4228 5075 4301 5066 Dl -4227 5070 4301 5066 Dl -4227 5066 4301 5066 Dl -4227 5061 4301 5065 Dl -4228 5056 4301 5065 Dl -4229 5052 4301 5065 Dl -4230 5048 4302 5066 Dl -3908 5181 4335 5453 Dl -4265 5430 4335 5453 Dl -4266 5426 4335 5454 Dl -4268 5422 4334 5453 Dl -4271 5418 4335 5454 Dl -4273 5414 4335 5453 Dl -4275 5410 4334 5453 Dl -4278 5406 4335 5453 Dl -4281 5403 4335 5453 Dl -4284 5400 4335 5454 Dl -3859 5235 4383 5903 Dl -4325 5858 4383 5903 Dl -4328 5855 4383 5903 Dl -4332 5851 4384 5903 Dl -4335 5848 4384 5903 Dl -4338 5845 4384 5903 Dl -4342 5842 4384 5903 Dl -4345 5840 4383 5903 Dl -4350 5838 4384 5903 Dl -4354 5836 4384 5903 Dl -10 /LucidaSans-Demi f -(Figure 2) 1437 6488 w +(s) 1224 5408 w +10 /LucidaSansUnicode20 f +(\024) 1275 5408 w 10 /LucidaSansUnicode00 f -(: The rendering graph for a) 1859 6488 w +(as) 1375 5408 w +(seen) 1520 5408 w +(in) 1784 5408 w 10 /LucidaSans-Demi f -(2n) 3213 6488 w +(Figure) 1914 5408 w +(2) 2278 5408 w +10 /LucidaSansUnicode20 f +(\024) 2342 5408 w 10 /LucidaSansUnicode00 f -(processor machine.) 3375 6488 w -10 /LucidaSans-Demi f -(3.2.) 720 6728 w -(entityproc) 962 6728 w +(,) 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 -(The) 970 6884 w -10 /LucidaSans-Demi f -(entityproc) 1198 6884 w -10 /LucidaSansUnicode00 f -(receives) 1771 6884 w -(an) 2210 6884 w -(entity) 2374 6884 w -(and) 2694 6884 w -(splits) 2921 6884 w -(its) 3228 6884 w -(geometry) 3393 6884 w -(equitatively) 3899 6884 w -(among) 4504 6884 w -(the) 4885 6884 w -(tilers, sending a batch for each of them to process.) 720 7004 w -(August 24, 2024) 2471 7680 w +(,) 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 @@ -1336,347 +1159,389 @@ 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 -(3.3.) 720 840 w -(tilers) 962 840 w +(Figure 2) 1437 3024 w 10 /LucidaSansUnicode00 f -(Next,) 970 996 w -(each) 1293 996 w +(: The rendering graph for a) 1859 3024 w 10 /LucidaSans-Demi f -(tiler) 1580 996 w -10 /LucidaSansUnicode00 f -(gets) 1854 996 w -(to) 2123 996 w -(work) 2284 996 w -(on) 2584 996 w -(their) 2770 996 w -(subset) 3058 996 w -(of) 3441 996 w -(the) 3602 996 w -(geometry,) 3821 996 w -(potentially) 4375 996 w -(in) 4949 996 w -(parallel) 720 1116 w -10 /LucidaSansUnicode20 f -(\024) 1077 1116 w +(2n) 3213 3024 w 10 /LucidaSansUnicode00 f -(see) 1177 1116 w +(processor machine.) 3375 3024 w 10 /LucidaSans-Demi f -(Figure) 1376 1116 w -(3) 1738 1116 w -10 /LucidaSansUnicode00 f -(.) 1802 1116 w -(They) 1902 1116 w -(walk) 2171 1116 w -(the) 2426 1116 w -(list) 2617 1116 w -(of) 2799 1116 w -(primitives,) 2933 1116 w -(then) 3481 1116 w -(for) 3734 1116 w -(each) 3909 1116 w -(of) 4169 1116 w -(them) 4303 1116 w -(apply) 4587 1116 w -(the) 4885 1116 w +(3.1.) 720 3264 w +(renderer) 962 3264 w +10 /LucidaSansUnicode00 f +(The) 970 3420 w 10 /LucidaSans-Demi f -(vertex) 720 1236 w -(shader) 1084 1236 w -10 /LucidaSansUnicode00 f -(to) 1478 1236 w -(its) 1618 1236 w -(vertices) 1777 1236 w -(\(which) 2192 1236 w -(expects) 2548 1236 w -(clip) 2965 1236 w -(space) 3179 1236 w -(coordinates) 3497 1236 w -(in) 4107 1236 w -(return\),) 4241 1236 w -(perform) 4648 1236 w -(frustum) 720 1356 w -(culling) 1139 1356 w -(and) 1499 1356 w -(clipping,) 1715 1356 w -(back-face) 2171 1356 w -(culling,) 2691 1356 w -(and) 3083 1356 w -(then) 3299 1356 w -(project) 3552 1356 w -(them) 3927 1356 w -(into) 4210 1356 w -(the) 4434 1356 w -(viewport) 4624 1356 w -(to) 720 1476 w -(obtain) 869 1476 w -(their) 1227 1476 w -(screen) 1503 1476 w -(space) 1871 1476 w -(coordinates.) 2198 1476 w -(Following) 2880 1476 w -(this) 3395 1476 w -(step,) 3625 1476 w -(they) 3915 1476 w -(build) 4173 1476 w -(a) 4470 1476 w -(bounding) 4576 1476 w -(box,) 720 1596 w -(used) 973 1596 w -(to) 1241 1596 w -(allocate) 1375 1596 w -(each) 1783 1596 w -(primitive) 2042 1596 w -(into) 2506 1596 w -(a) 2730 1596 w -(rasterization) 2820 1596 w -(bucket,) 3466 1596 w -(or) 3860 1596 w +(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 -(tile) 3997 1596 w -10 /LucidaSansUnicode00 f -(,) 4163 1596 w -(managed) 4230 1596 w -(by) 4711 1596 w -(one) 4861 1596 w -(of) 720 1716 w -(the) 859 1716 w -(rasterizers;) 1055 1716 w -(as) 1643 1716 w -(illustrated) 1790 1716 w -(in) 2320 1716 w +(3.2.) 720 4020 w +(entityproc) 962 4020 w +10 /LucidaSansUnicode00 f +(The) 970 4176 w 10 /LucidaSans-Demi f -(Figure) 2452 1716 w -(4) 2819 1716 w -10 /LucidaSansUnicode00 f -(.) 2883 1716 w -(If) 2988 1716 w -(it) 3095 1716 w -(spans) 3202 1716 w -(multiple) 3526 1716 w -(tiles,) 3966 1716 w -(it) 4242 1716 w -(will) 4350 1716 w -(be) 4556 1716 w -(copied) 4717 1716 w -(and sent to each of them.) 720 1836 w -2070 2826 2106 2826 Dl -2142 2826 2178 2826 Dl -2214 2826 2250 2826 Dl -2286 2826 2322 2826 Dl -2358 2826 2394 2826 Dl -2430 2826 2466 2826 Dl -2502 2826 2538 2826 Dl -2574 2826 2610 2826 Dl -2646 2826 2682 2826 Dl -2718 2826 2754 2826 Dl -2790 2826 2826 2826 Dl -2862 2826 2898 2826 Dl -2934 2826 2970 2826 Dl -2970 2826 2970 2790 Dl -2970 2772 2970 2736 Dl -2970 2718 2970 2682 Dl -2970 2682 2934 2682 Dl -2898 2682 2862 2682 Dl -2826 2682 2790 2682 Dl -2754 2682 2718 2682 Dl -2682 2682 2646 2682 Dl -2610 2682 2574 2682 Dl -2538 2682 2502 2682 Dl -2466 2682 2430 2682 Dl -2394 2682 2358 2682 Dl -2322 2682 2286 2682 Dl -2250 2682 2214 2682 Dl -2178 2682 2142 2682 Dl -2106 2682 2070 2682 Dl -2070 2682 2070 2718 Dl -2070 2736 2070 2772 Dl -2070 2790 2070 2826 Dl -7 /LucidaSansUnicode00 f -(tile 1) 2435 2768 w -2070 2970 2106 2970 Dl -2142 2970 2178 2970 Dl -2214 2970 2250 2970 Dl -2286 2970 2322 2970 Dl -2358 2970 2394 2970 Dl -2430 2970 2466 2970 Dl -2502 2970 2538 2970 Dl -2574 2970 2610 2970 Dl -2646 2970 2682 2970 Dl -2718 2970 2754 2970 Dl -2790 2970 2826 2970 Dl -2862 2970 2898 2970 Dl -2934 2970 2970 2970 Dl -2970 2970 2970 2934 Dl -2970 2916 2970 2880 Dl -2970 2862 2970 2826 Dl -2970 2826 2934 2826 Dl -2898 2826 2862 2826 Dl -2826 2826 2790 2826 Dl -2754 2826 2718 2826 Dl -2682 2826 2646 2826 Dl -2610 2826 2574 2826 Dl -2538 2826 2502 2826 Dl -2466 2826 2430 2826 Dl -2394 2826 2358 2826 Dl -2322 2826 2286 2826 Dl -2250 2826 2214 2826 Dl -2178 2826 2142 2826 Dl -2106 2826 2070 2826 Dl -2070 2826 2070 2862 Dl -2070 2880 2070 2916 Dl -2070 2934 2070 2970 Dl -(tile 2) 2435 2912 w -2070 3114 2106 3114 Dl -2142 3114 2178 3114 Dl -2214 3114 2250 3114 Dl -2286 3114 2322 3114 Dl -2358 3114 2394 3114 Dl -2430 3114 2466 3114 Dl -2502 3114 2538 3114 Dl -2574 3114 2610 3114 Dl -2646 3114 2682 3114 Dl -2718 3114 2754 3114 Dl -2790 3114 2826 3114 Dl -2862 3114 2898 3114 Dl -2934 3114 2970 3114 Dl -2970 3114 2970 3078 Dl -2970 3060 2970 3024 Dl -2970 3006 2970 2970 Dl -2970 2970 2934 2970 Dl -2898 2970 2862 2970 Dl -2826 2970 2790 2970 Dl -2754 2970 2718 2970 Dl -2682 2970 2646 2970 Dl -2610 2970 2574 2970 Dl -2538 2970 2502 2970 Dl -2466 2970 2430 2970 Dl -2394 2970 2358 2970 Dl -2322 2970 2286 2970 Dl -2250 2970 2214 2970 Dl -2178 2970 2142 2970 Dl -2106 2970 2070 2970 Dl -2070 2970 2070 3006 Dl -2070 3024 2070 3060 Dl -2070 3078 2070 3114 Dl -7 /LucidaSansUnicode20 f -(&) 2485 3056 w -2070 3258 2106 3258 Dl -2142 3258 2178 3258 Dl -2214 3258 2250 3258 Dl -2286 3258 2322 3258 Dl -2358 3258 2394 3258 Dl -2430 3258 2466 3258 Dl -2502 3258 2538 3258 Dl -2574 3258 2610 3258 Dl -2646 3258 2682 3258 Dl -2718 3258 2754 3258 Dl -2790 3258 2826 3258 Dl -2862 3258 2898 3258 Dl -2934 3258 2970 3258 Dl -2970 3258 2970 3222 Dl -2970 3204 2970 3168 Dl -2970 3150 2970 3114 Dl -2970 3114 2934 3114 Dl -2898 3114 2862 3114 Dl -2826 3114 2790 3114 Dl -2754 3114 2718 3114 Dl -2682 3114 2646 3114 Dl -2610 3114 2574 3114 Dl -2538 3114 2502 3114 Dl -2466 3114 2430 3114 Dl -2394 3114 2358 3114 Dl -2322 3114 2286 3114 Dl -2250 3114 2214 3114 Dl -2178 3114 2142 3114 Dl -2106 3114 2070 3114 Dl -2070 3114 2070 3150 Dl -2070 3168 2070 3204 Dl -2070 3222 2070 3258 Dl -7 /LucidaSansUnicode00 f -(tile n) 2435 3200 w -2034 3294 2034 2646 Dl -2034 2646 3006 2646 Dl -3006 2646 3006 3294 Dl -3006 3294 2034 3294 Dl -(Framebuf) 1675 2696 w -3330 2214 432 432 De -(rasterizer) 3350 2228 w -(1) 3698 2228 w -3330 2718 432 432 De -(rasterizer) 3350 2732 w -(2) 3698 2732 w -3330 3222 432 432 De -7 /LucidaSansUnicode20 f -(&) 3511 3236 w -3330 3726 432 432 De -7 /LucidaSansUnicode00 f -(rasterizer) 3351 3740 w -(n) 3699 3740 w -2970 2754 3330 2214 Dl -2970 2898 3330 2718 Dl -2970 3042 3330 3222 Dl -2970 3186 3330 3726 Dl +(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 -(Figure 3) 2180 4140 w +(3.3.) 720 4536 w +(tilers) 962 4536 w 10 /LucidaSansUnicode00 f -(: Per tile rasterizers.) 2602 4140 w +(Next,) 970 4692 w +(each) 1293 4692 w 10 /LucidaSans-Demi f -(3.4.) 720 4380 w -(rasterizers) 962 4380 w +(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 -(Finally,) 970 4536 w -(the) 1346 4536 w +(see) 1177 4812 w 10 /LucidaSans-Demi f -(rasterizers) 1535 4536 w -10 /LucidaSansUnicode00 f -(receive) 2128 4536 w -(the) 2503 4536 w -(primitive) 2692 4536 w -(in) 3155 4536 w -(screen) 3280 4536 w -(space,) 3631 4536 w -(slice) 3974 4536 w -(it) 4225 4536 w -(to) 4326 4536 w -(fit) 4459 4536 w -(their) 4597 4536 w -(tile,) 4857 4536 w -(and) 720 4656 w -(apply) 937 4656 w -(a) 1236 4656 w -(rasterization) 1328 4656 w -(routine) 1976 4656 w -(based) 2361 4656 w -(on) 2686 4656 w -(its) 2846 4656 w -(type.) 3000 4656 w -(For) 3277 4656 w -(each) 3470 4656 w -(of) 3731 4656 w -(the) 3866 4656 w -(pixels,) 4058 4656 w -(a) 4416 4656 w +(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 -(depth) 4508 4656 w -(test) 4842 4656 w -10 /LucidaSansUnicode00 f -(is) 720 4776 w -(performed,) 845 4776 w -(discarding) 1433 4776 w -(fragments) 1984 4776 w -(that) 2523 4776 w -(are) 2759 4776 w -(further) 2956 4776 w -(away.) 3337 4776 w -(Then) 3653 4776 w -(a) 3941 4776 w +(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 -(fragment) 4042 4776 w -(shader) 4562 4776 w +(tile) 3997 5292 w 10 /LucidaSansUnicode00 f -(is) 4960 4776 w -(applied and the result written to the framebuffer after blending.) 720 4896 w -(August 24, 2024) 2471 7680 w +(,) 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 @@ -1720,7 +1585,7 @@ mark 2070 1620 2070 1656 Dl 2070 1674 2070 1710 Dl 7 /LucidaSansUnicode00 f -(1) 2498 1652 w +(tile 1) 2435 1652 w 2070 1854 2106 1854 Dl 2142 1854 2178 1854 Dl 2214 1854 2250 1854 Dl @@ -1753,7 +1618,7 @@ mark 2070 1710 2070 1746 Dl 2070 1764 2070 1800 Dl 2070 1818 2070 1854 Dl -(2) 2498 1796 w +(tile 2) 2435 1796 w 2070 1998 2106 1998 Dl 2142 1998 2178 1998 Dl 2214 1998 2250 1998 Dl @@ -1821,10 +1686,7 @@ mark 2070 2052 2070 2088 Dl 2070 2106 2070 2142 Dl 7 /LucidaSansUnicode00 f -(n) 2499 2084 w -2142 1890 2592 1746 Dl -2592 1746 2754 2070 Dl -2754 2070 2142 1890 Dl +(tile n) 2435 2084 w 2034 2178 2034 1530 Dl 2034 1530 3006 1530 Dl 3006 1530 3006 2178 Dl @@ -1843,258 +1705,812 @@ mark 7 /LucidaSansUnicode00 f (rasterizer) 3351 2624 w (n) 3699 2624 w +2970 1638 3330 1098 Dl 2970 1782 3330 1602 Dl -3273 1650 3329 1602 Dl -3270 1646 3329 1602 Dl -3268 1643 3329 1602 Dl -3265 1639 3329 1602 Dl -3263 1635 3329 1602 Dl -3261 1630 3329 1602 Dl -3260 1626 3329 1602 Dl -3258 1622 3329 1602 Dl -3257 1617 3329 1602 Dl 2970 1926 3330 2106 Dl -3257 2090 3329 2105 Dl -3258 2085 3329 2105 Dl -3260 2081 3329 2105 Dl -3261 2077 3329 2105 Dl -3263 2072 3329 2105 Dl -3265 2068 3329 2105 Dl -3268 2064 3329 2105 Dl -3270 2061 3329 2105 Dl -3273 2057 3329 2105 Dl 2970 2070 3330 2610 Dl -3275 2560 3329 2609 Dl -3278 2556 3329 2609 Dl -3281 2553 3329 2609 Dl -3285 2550 3329 2609 Dl -3288 2548 3329 2609 Dl -3292 2545 3329 2609 Dl -3296 2543 3329 2609 Dl -3300 2541 3329 2609 Dl -3304 2540 3329 2609 Dl 10 /LucidaSans-Demi f -(Figure 4) 2073 3024 w +(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 -(: Raster task scheduling.) 2495 3024 w +(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 -(4.) 720 3264 w -(Frames of reference) 873 3264 w +(depth) 4510 3540 w +(test) 4842 3540 w 10 /LucidaSansUnicode00 f -(Frames are right-handed throughout every stage.) 970 3420 w +(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 4086 m +3586 1662 m /inpath true def 0.7 setgray -2790 4302 14 14 De +2790 1878 14 14 De gsave eofill grestore 0 setgray stroke grestore /inpath false def 7 /LucidaSansUnicode00 f -(p) 2703 4316 w -2797 4302 3514 4364 Dl -3441 4376 3514 4365 Dl -3441 4371 3515 4364 Dl -3440 4367 3514 4365 Dl -3440 4362 3514 4364 Dl -3441 4358 3515 4364 Dl -3441 4353 3514 4363 Dl -3441 4349 3513 4364 Dl -3443 4345 3514 4365 Dl -3444 4340 3513 4364 Dl -(bx) 3543 4378 w -2797 4302 2797 3582 Dl -2815 3654 2797 3582 Dl -2811 3654 2798 3582 Dl -2806 3655 2797 3582 Dl -2801 3656 2797 3582 Dl -2797 3656 2797 3582 Dl -2793 3656 2797 3582 Dl -2788 3655 2797 3582 Dl -2783 3654 2796 3582 Dl -2779 3654 2797 3582 Dl -(by) 2685 3596 w -2797 4302 2246 4590 Dl -2301 4541 2246 4589 Dl -2304 4543 2246 4589 Dl -2307 4547 2246 4589 Dl -2309 4551 2246 4589 Dl -2311 4555 2246 4589 Dl -2313 4559 2246 4589 Dl -2315 4564 2246 4589 Dl -2317 4568 2246 4589 Dl -2318 4572 2246 4589 Dl -(bz) 2132 4604 w +(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 4788 w +(Figure 5) 1897 2364 w 10 /LucidaSansUnicode00 f -(: Example right-handed rframe.) 2319 4788 w +(: Example right-handed rframe.) 2319 2364 w 10 /LucidaSans-Demi f -(5.) 720 5028 w -(Viewports) 873 5028 w +(5.) 720 2604 w +(Viewports) 873 2604 w 10 /LucidaSansUnicode00 f -(A) 970 5184 w +(A) 970 2760 w 10 /LucidaSans-Italic f -(viewport) 1084 5184 w -10 /LucidaSansUnicode00 f -(is) 1547 5184 w -(a) 1673 5184 w -(sort) 1774 5184 w -(of) 2010 5184 w -(virtual) 2154 5184 w -(framebuffer,) 2505 5184 w -(a) 3161 5184 w -(device) 3262 5184 w -(that) 3615 5184 w -(lets) 3852 5184 w -(users) 4071 5184 w -(configure) 4378 5184 w -(the) 4885 5184 w -(way) 720 5304 w -(they) 940 5304 w -(visualize) 1183 5304 w -(a) 1639 5304 w -(framebuffer,) 1730 5304 w -(which) 2375 5304 w -(changes) 2691 5304 w -(the) 3125 5304 w -(resulting) 3315 5304 w +(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 5304 w -10 /LucidaSansUnicode00 f -(\(6\)) 4076 5304 w -(after) 4240 5304 w -(a) 4501 5304 w -(call) 4591 5304 w -(to) 4790 5304 w -(its) 4923 5304 w +(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 5424 w +(draw) 720 3000 w 10 /LucidaSansUnicode00 f -(or) 1067 5424 w +(or) 1067 3000 w 10 /LucidaTypewriter f -(memdraw) 1228 5424 w -10 /LucidaSansUnicode00 f -(methods.) 1791 5424 w -(So) 2337 5424 w -(far) 2511 5424 w -(the) 2703 5424 w -(only) 2917 5424 w -(feature) 3180 5424 w -(available) 3583 5424 w -(is) 4065 5424 w -(upscaling,) 4204 5424 w -(which) 4759 5424 w -(includes) 720 5544 w -(user-defined) 1174 5544 w -(filters) 1859 5544 w -(for) 2190 5544 w -(specific) 2380 5544 w -(ratios,) 2798 5544 w -(such) 3155 5544 w -(as) 3432 5544 w -(the) 3589 5544 w -(family) 3795 5544 w -(of) 4141 5544 w -(pixel) 4289 5544 w -(art) 4577 5544 w -(filters) 4760 5544 w +(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 5664 w -10 /LucidaSansUnicode00 f -(,) 1277 5664 w -(used) 1360 5664 w -(for) 1644 5664 w -(2x2,) 1835 5664 w -(3x3) 2106 5664 w -(and) 2345 5664 w -(4x4) 2577 5664 w -(scaling) 2816 5664 w -(respectively) 3207 5664 w +(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 -([REF01]) 3780 5664 w +([SCALE2x]) 3692 3240 w 10 /LucidaSansUnicode00 f -(.) 4144 5664 w -(Users) 4260 5664 w -(control) 4580 5664 w -(it) 4974 5664 w -(with calls to the viewport) 720 5784 w +(.) 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 5784 w +(\031) 1937 3360 w 10 /LucidaSansUnicode00 f -(s) 1969 5784 w +(s) 1969 3360 w 10 /LucidaTypewriter f -(setscale) 2052 5784 w +(setscale) 2052 3360 w 10 /LucidaSansUnicode00 f -(and) 2660 5784 w +(and) 2660 3360 w 10 /LucidaTypewriter f -(setscalefilter) 2872 5784 w -10 /LucidaSansUnicode00 f -(methods.) 3912 5784 w -(August 24, 2024) 2471 7680 w -cleartomark -showpage -saveobj restore -%%EndPage: 5 5 -%%Page: 6 6 -/saveobj save def -mark -6 pagesetup +(setscalefilter) 2872 3360 w 10 /LucidaSansUnicode00 f -(\255 6 \255) 2783 480 w -1836 2394 1836 954 Dl -1836 954 3996 954 Dl -3996 954 3996 2394 Dl -3996 2394 1836 2394 Dl +(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 2264 w +(Framebuf) 2755 4904 w gsave newpath -2916 2250 m +2916 4890 m /inpath true def 0.7 setgray -1828 954 14 14 De +1828 3594 14 14 De gsave eofill grestore 0 setgray stroke grestore /inpath false def -(p) 1742 968 w -1836 954 2556 954 Dl -2484 972 2556 954 Dl -2483 967 2555 954 Dl -2482 963 2555 954 Dl -2481 958 2555 954 Dl -2481 954 2555 954 Dl -2481 949 2555 953 Dl -2482 944 2555 953 Dl -2483 940 2555 953 Dl -2484 936 2556 954 Dl -(bx) 2513 896 w -1836 954 1836 1674 Dl -1818 1602 1836 1674 Dl -1822 1601 1835 1673 Dl -1826 1600 1835 1673 Dl -1831 1599 1835 1673 Dl -1836 1599 1836 1673 Dl -1840 1599 1836 1673 Dl -1845 1600 1836 1673 Dl -1849 1601 1836 1673 Dl -1854 1602 1836 1674 Dl -(by) 1724 1688 w +(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 2592 w +(Figure 6) 1932 5232 w 10 /LucidaSansUnicode00 f -(: Illustration of a 3:2 viewport.) 2354 2592 w +(: Illustration of a 3:2 viewport.) 2354 5232 w 10 /LucidaSans-Demi f -(References) 720 2832 w +(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 -([REF01]https://www.scale2x.it/) 720 3024 w -(August 24, 2024) 2471 7680 w +(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: 6 +%%Pages: 7 -- cgit v1.2.3