summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/libgraphics.ms135
-rw-r--r--doc/libgraphics.pdfbin38934 -> 45419 bytes
-rw-r--r--doc/libgraphics.ps2182
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
--- a/doc/libgraphics.pdf
+++ b/doc/libgraphics.pdf
Binary files 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