diff options
author | rodri <rgl@antares-labs.eu> | 2024-08-07 11:50:59 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-08-07 11:50:59 +0000 |
commit | 6eab9793d68feb3282714083b355d38c6c36400b (patch) | |
tree | 32ff44bac08133b316ef04ec9a100194764cea30 | |
parent | 423422e4ea9f28763b3971ce4d034dce3fd5f9a3 (diff) | |
download | libgraphics-6eab9793d68feb3282714083b355d38c6c36400b.tar.gz libgraphics-6eab9793d68feb3282714083b355d38c6c36400b.tar.bz2 libgraphics-6eab9793d68feb3282714083b355d38c6c36400b.zip |
doc: new content.
-rw-r--r-- | doc/libgraphics.ms | 163 | ||||
-rw-r--r-- | doc/libgraphics.pdf | bin | 34494 -> 38208 bytes | |||
-rw-r--r-- | doc/libgraphics.ps | 2310 |
3 files changed, 1334 insertions, 1139 deletions
diff --git a/doc/libgraphics.ms b/doc/libgraphics.ms index f25e270..aedb662 100644 --- a/doc/libgraphics.ms +++ b/doc/libgraphics.ms @@ -30,16 +30,32 @@ Write the intro last. .NH The scene .PP -A scene is a container, represented as a graph, that hosts the -entities that make up the world. Each of these entities has a model -made out of a series of meshes, which in turn are made out of -geometric primitives (only +.P1 +struct Scene +{ + char *name; + Entity ents; + ulong nents; + Cubemap *skybox; + + void (*addent)(Scene*, Entity*); + void (*delent)(Scene*, Entity*); +}; +.P2 +.PP +A +.I scene +is a container, represented as a graph, that hosts the entities that +make up the world. Each of these entities has a model made out of a +series of meshes, which in turn are made out of geometric primitives +(only .I points , .I lines and .I triangles are supported). Each model also stores a list of materials. .PP +.KS .PS .ps 7 boxwid = 0.5 @@ -62,16 +78,64 @@ reset .ps 10 .PE .FI "The scene graph." +.KE .NH 2 Entities +.PP +.P1 +struct Entity +{ + RFrame3; + char *name; + Model *mdl; + + Entity *prev, *next; +}; +.P2 +.PP +.I Entities +represent physical objects in the scene. .NH 2 Models +.PP +.P1 +struct Model +{ + Primitive *prims; + ulong nprims; + Material *materials; + ulong nmaterials; +}; +.P2 .NH 2 Meshes .NH 2 Primitives +.PP +.P1 +struct Primitive +{ + int type; + Vertex v[3]; + Material *mtl; + Point3 tangent; /* used for normal mapping */ +}; +.P2 .NH 2 Materials +.PP +.P1 +struct Material +{ + char *name; + Color ambient; + Color diffuse; + Color specular; + double shininess; + Texture *diffusemap; + Texture *normalmap; +}; +.P2 .NH Cameras .PP @@ -95,7 +159,7 @@ seen in spawned with a call to .CW initgraphics , each representing a stage of the pipeline: -.IP • +.IP "S1:" The .B renderer process, the root of the tree, waits on a @@ -107,40 +171,7 @@ camera and a shader table. It walks the scene and sends each .CW Entity individually to the entityproc. -.IP • -The -.B entityproc -receives an entity and splits its geometry equitatively among the -tilers, sending a batch for each of them to process. -.IP • -Next, each -.B tiler -gets to work on their subset of the geometry (potentially in -parallel)—see -.B "Figure 3" . -They walk the list of primitives, then for each of them -apply the -.B "vertex shader" -to its vertices (which expects clip space coordinates in return), -perform frustum culling and clipping, back-face culling, and then -project them into the viewport (screen space). Following this step, -they build a bounding box, used to allocate each primitive into a -rasterization bucket, or -.B tile , -managed by one of the rasterizers; as illustrated in -.B "Figure 4" . -If it spans multiple tiles, it will be copied and sent to each of -them. -.IP • -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 -.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. -.PP +.KS .PS .ps 7 circlerad = 0.3 @@ -188,6 +219,32 @@ arrow from Tiler.T1 to Raster.Rn chop .ps 10 .PE .FI "The rendering graph for a \fB2n\fR processor machine." +.KE +.IP "S2:" +The +.B entityproc +receives an entity and splits its geometry equitatively among the +tilers, sending a batch for each of them to process. +.IP "S3:" +Next, each +.B tiler +gets to work on their subset of the geometry (potentially in +parallel)—see +.B "Figure 3" . +They walk the list of primitives, then for each of them +apply the +.B "vertex shader" +to its vertices (which expects clip space coordinates in return), +perform frustum culling and clipping, back-face culling, and then +project them into the viewport (screen space). Following this step, +they build a bounding box, used to allocate each primitive into a +rasterization bucket, or +.B tile , +managed by one of the rasterizers; as illustrated in +.B "Figure 4" . +If it spans multiple tiles, it will be copied and sent to each of +them. +.KS .PS .ps 7 Tiles: [ @@ -219,6 +276,18 @@ line from Tiles.Tn.e to Raster.Rn.w .ps 10 .PE .FI "Per tile rasterizers." +.KE +.IP "S4:" +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 +.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. +.PP +.KS .PS .ps 7 Tiles: [ @@ -252,10 +321,12 @@ arrow from Tiles.Tn.e to Raster.Rn.w .ps 10 .PE .FI "Raster task scheduling." +.KE .NH Frames of reference .PP Frames are right-handed throughout every stage. +.KS .PS .ps 7 RFrame: [ @@ -275,6 +346,7 @@ RFrame: [ .ps 10 .PE .FI "Example right-handed rframe." +.KE .NH Viewports .PP @@ -287,12 +359,18 @@ after a call to its .CW draw or .CW memdraw -methods. As of now, the only feature available is upscaling, which +methods. So far the only feature available is upscaling, which 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 [?] . respectively +.I [REF01] . respectively +Users control it with calls to the viewport's +.CW setscale +and +.CW setscalefilter +methods. +.KS .PS .ps 7 View: [ @@ -310,8 +388,9 @@ View: [ .ps 10 .PE .FI "Illustration of a 3:2 viewport." +.KE .SH References .PP -.IP [?] +.IP [REF01] https://www.scale2x.it/ diff --git a/doc/libgraphics.pdf b/doc/libgraphics.pdf Binary files differindex 0651640..6566ab3 100644 --- a/doc/libgraphics.pdf +++ b/doc/libgraphics.pdf diff --git a/doc/libgraphics.ps b/doc/libgraphics.ps index 2a4cceb..a5b6b46 100644 --- a/doc/libgraphics.ps +++ b/doc/libgraphics.ps @@ -716,128 +716,85 @@ mark 10 /LucidaSans-Demi f (1.) 720 3922 w (The scene) 873 3922 w +9 /LucidaTypewriter f +(struct) 920 4128 w +(Scene) 1375 4128 w +({) 920 4238 w +(char) 1440 4348 w +(*name;) 1765 4348 w +(Entity) 1440 4458 w +(ents;) 1895 4458 w +(ulong) 1440 4568 w +(nents;) 1830 4568 w +(Cubemap) 1440 4678 w +(*skybox;) 1960 4678 w +(void) 1440 4898 w +(\(*addent\)\(Scene*,) 1765 4898 w +(Entity*\);) 2935 4898 w +(void) 1440 5008 w +(\(*delent\)\(Scene*,) 1765 5008 w +(Entity*\);) 2935 5008 w +(};) 920 5118 w 10 /LucidaSansUnicode00 f -(A) 970 4078 w -(scene) 1072 4078 w -(is) 1381 4078 w -(a) 1494 4078 w -(container,) 1582 4078 w -(represented) 2101 4078 w -(as) 2716 4078 w -(a) 2855 4078 w -(graph,) 2944 4078 w -(that) 3293 4078 w -(hosts) 3518 4078 w -(the) 3814 4078 w -(entities) 4003 4078 w -(that) 4394 4078 w -(make) 4619 4078 w -(up) 4915 4078 w -(the) 720 4198 w -(world.) 913 4198 w -(Each) 1286 4198 w -(of) 1545 4198 w -(these) 1680 4198 w -(entities) 1979 4198 w -(has) 2373 4198 w -(a) 2578 4198 w -(model) 2670 4198 w -(made) 3009 4198 w -(out) 3313 4198 w -(of) 3510 4198 w -(a) 3645 4198 w -(series) 3737 4198 w -(of) 4058 4198 w -(meshes,) 4193 4198 w -(which) 4631 4198 w -(in) 4949 4198 w -(turn) 720 4318 w -(are) 977 4318 w -(made) 1184 4318 w -(out) 1506 4318 w -(of) 1721 4318 w -(geometric) 1874 4318 w -(primitives) 2415 4318 w -(\(only) 2950 4318 w +(A) 970 5334 w 10 /LucidaSans-Italic f -(points) 3242 4318 w +(scene) 1073 5334 w 10 /LucidaSansUnicode00 f -(,) 3538 4318 w +(is) 1374 5334 w +(a) 1488 5334 w +(container,) 1577 5334 w +(represented) 2097 5334 w +(as) 2713 5334 w +(a) 2853 5334 w +(graph,) 2942 5334 w +(that) 3291 5334 w +(hosts) 3516 5334 w +(the) 3812 5334 w +(entities) 4001 5334 w +(that) 4392 5334 w +(make) 4618 5334 w +(up) 4915 5334 w +(the) 720 5454 w +(world.) 913 5454 w +(Each) 1286 5454 w +(of) 1545 5454 w +(these) 1680 5454 w +(entities) 1979 5454 w +(has) 2373 5454 w +(a) 2578 5454 w +(model) 2670 5454 w +(made) 3009 5454 w +(out) 3313 5454 w +(of) 3510 5454 w +(a) 3645 5454 w +(series) 3737 5454 w +(of) 4058 5454 w +(meshes,) 4193 5454 w +(which) 4631 5454 w +(in) 4949 5454 w +(turn) 720 5574 w +(are) 977 5574 w +(made) 1184 5574 w +(out) 1506 5574 w +(of) 1721 5574 w +(geometric) 1874 5574 w +(primitives) 2415 5574 w +(\(only) 2950 5574 w 10 /LucidaSans-Italic f -(lines) 3625 4318 w +(points) 3242 5574 w 10 /LucidaSansUnicode00 f -(and) 3902 4318 w +(,) 3538 5574 w 10 /LucidaSans-Italic f -(triangles) 4137 4318 w +(lines) 3625 5574 w 10 /LucidaSansUnicode00 f -(are) 4623 4318 w -(sup\255) 4831 4318 w -(ported\). Each model also stores a list of materials.) 720 4438 w -2196 4780 2196 4636 Dl -2196 4636 2556 4636 Dl -2556 4636 2556 4780 Dl -2556 4780 2196 4780 Dl -7 /LucidaSansUnicode00 f -(Scene) 2279 4722 w -2376 4780 2376 4924 Dl -2376 4924 2448 4924 Dl -2448 4996 2448 4852 Dl -2448 4852 2808 4852 Dl -2808 4852 2808 4996 Dl -2808 4996 2448 4996 Dl -(Entity) 2534 4938 w -2628 4996 2628 5140 Dl -2628 5140 2700 5140 Dl -2700 5212 2700 5068 Dl -2700 5068 3060 5068 Dl -3060 5068 3060 5212 Dl -3060 5212 2700 5212 Dl -(Model) 2777 5154 w -2880 5212 2880 5356 Dl -2880 5356 2952 5356 Dl -2952 5428 2988 5428 Dl -3033 5428 3069 5428 Dl -3114 5428 3150 5428 Dl -3195 5428 3231 5428 Dl -3276 5428 3312 5428 Dl -3312 5428 3312 5392 Dl -3312 5374 3312 5338 Dl -3312 5320 3312 5284 Dl -3312 5284 3276 5284 Dl -3231 5284 3195 5284 Dl -3150 5284 3114 5284 Dl -3069 5284 3033 5284 Dl -2988 5284 2952 5284 Dl -2952 5284 2952 5320 Dl -2952 5338 2952 5374 Dl -2952 5392 2952 5428 Dl -(Mesh) 3043 5370 w -3132 5428 3132 5572 Dl -3132 5572 3204 5572 Dl -3204 5644 3204 5500 Dl -3204 5500 3564 5500 Dl -3564 5500 3564 5644 Dl -3564 5644 3204 5644 Dl -(Primitive) 3237 5586 w -3132 5572 3132 5716 Dl -3132 5716 3132 5860 Dl -3132 5860 3204 5860 Dl -3204 5932 3204 5788 Dl -3204 5788 3564 5788 Dl -3564 5788 3564 5932 Dl -3564 5932 3204 5932 Dl -(Material) 3248 5874 w -10 /LucidaSans-Demi f -(Figure 1) 2219 6130 w -10 /LucidaSansUnicode00 f -(: The scene graph.) 2641 6130 w -10 /LucidaSans-Demi f -(1.1.) 720 6370 w -(Entities) 962 6370 w -(1.2.) 720 6610 w -(Models) 962 6610 w +(and) 3902 5574 w +10 /LucidaSans-Italic f +(triangles) 4137 5574 w 10 /LucidaSansUnicode00 f -(July 23, 2024) 2556 7680 w +(are) 4623 5574 w +(sup\255) 4831 5574 w +(ported\). Each model also stores a list of materials.) 720 5694 w +(August 3, 2024) 2503 7680 w cleartomark showpage saveobj restore @@ -848,1099 +805,1258 @@ mark 2 pagesetup 10 /LucidaSansUnicode00 f (\255 2 \255) 2783 480 w +2196 1026 2196 882 Dl +2196 882 2556 882 Dl +2556 882 2556 1026 Dl +2556 1026 2196 1026 Dl +7 /LucidaSansUnicode00 f +(Scene) 2279 968 w +2376 1026 2376 1170 Dl +2376 1170 2448 1170 Dl +2448 1242 2448 1098 Dl +2448 1098 2808 1098 Dl +2808 1098 2808 1242 Dl +2808 1242 2448 1242 Dl +(Entity) 2534 1184 w +2628 1242 2628 1386 Dl +2628 1386 2700 1386 Dl +2700 1458 2700 1314 Dl +2700 1314 3060 1314 Dl +3060 1314 3060 1458 Dl +3060 1458 2700 1458 Dl +(Model) 2777 1400 w +2880 1458 2880 1602 Dl +2880 1602 2952 1602 Dl +2952 1674 2988 1674 Dl +3033 1674 3069 1674 Dl +3114 1674 3150 1674 Dl +3195 1674 3231 1674 Dl +3276 1674 3312 1674 Dl +3312 1674 3312 1638 Dl +3312 1620 3312 1584 Dl +3312 1566 3312 1530 Dl +3312 1530 3276 1530 Dl +3231 1530 3195 1530 Dl +3150 1530 3114 1530 Dl +3069 1530 3033 1530 Dl +2988 1530 2952 1530 Dl +2952 1530 2952 1566 Dl +2952 1584 2952 1620 Dl +2952 1638 2952 1674 Dl +(Mesh) 3043 1616 w +3132 1674 3132 1818 Dl +3132 1818 3204 1818 Dl +3204 1890 3204 1746 Dl +3204 1746 3564 1746 Dl +3564 1746 3564 1890 Dl +3564 1890 3204 1890 Dl +(Primitive) 3237 1832 w +3132 1818 3132 1962 Dl +3132 1962 3132 2106 Dl +3132 2106 3204 2106 Dl +3204 2178 3204 2034 Dl +3204 2034 3564 2034 Dl +3564 2034 3564 2178 Dl +3564 2178 3204 2178 Dl +(Material) 3248 2120 w +10 /LucidaSans-Demi f +(Figure 1) 2219 2376 w +10 /LucidaSansUnicode00 f +(: The scene graph.) 2641 2376 w +10 /LucidaSans-Demi f +(1.1.) 720 2616 w +(Entities) 962 2616 w +9 /LucidaTypewriter f +(struct) 920 2822 w +(Entity) 1375 2822 w +({) 920 2932 w +(RFrame3;) 1440 3042 w +(char) 1440 3152 w +(*name;) 1765 3152 w +(Model) 1440 3262 w +(*mdl;) 1830 3262 w +(Entity) 1440 3482 w +(*prev,) 1895 3482 w +(*next;) 2350 3482 w +(};) 920 3592 w +10 /LucidaSans-Italic f +(Entities) 970 3808 w +10 /LucidaSansUnicode00 f +(represent physical objects in the scene.) 1355 3808 w +10 /LucidaSans-Demi f +(1.2.) 720 4048 w +(Models) 962 4048 w +9 /LucidaTypewriter f +(struct) 920 4254 w +(Model) 1375 4254 w +({) 920 4364 w +(Primitive) 1440 4474 w +(*prims;) 2090 4474 w +(ulong) 1440 4584 w +(nprims;) 1830 4584 w +(Material) 1440 4694 w +(*materials;) 2025 4694 w +(ulong) 1440 4804 w +(nmaterials;) 1830 4804 w +(};) 920 4914 w +10 /LucidaSans-Demi f +(1.3.) 720 5214 w +(Meshes) 962 5214 w +(1.4.) 720 5454 w +(Primitives) 962 5454 w +9 /LucidaTypewriter f +(struct) 920 5660 w +(Primitive) 1375 5660 w +({) 920 5770 w +(int) 1440 5880 w +(type;) 1700 5880 w +(Vertex) 1440 5990 w +(v[3];) 1895 5990 w +(Material) 1440 6100 w +(*mtl;) 2025 6100 w +(Point3) 1440 6210 w +(tangent;) 1895 6210 w +(/*) 2480 6210 w +(used) 2675 6210 w +(for) 3000 6210 w +(normal) 3260 6210 w +(mapping) 3715 6210 w +(*/) 4235 6210 w +(};) 920 6320 w +10 /LucidaSans-Demi f +(1.5.) 720 6620 w +(Materials) 962 6620 w +10 /LucidaSansUnicode00 f +(August 3, 2024) 2503 7680 w +cleartomark +showpage +saveobj restore +%%EndPage: 2 2 +%%Page: 3 3 +/saveobj save def +mark +3 pagesetup +10 /LucidaSansUnicode00 f +(\255 3 \255) 2783 480 w +9 /LucidaTypewriter f +(struct) 920 830 w +(Material) 1375 830 w +({) 920 940 w +(char) 1440 1050 w +(*name;) 1765 1050 w +(Color) 1440 1160 w +(ambient;) 1830 1160 w +(Color) 1440 1270 w +(diffuse;) 1830 1270 w +(Color) 1440 1380 w +(specular;) 1830 1380 w +(double) 1440 1490 w +(shininess;) 1895 1490 w +(Texture) 1440 1600 w +(*diffusemap;) 1960 1600 w +(Texture) 1440 1710 w +(*normalmap;) 1960 1710 w +(};) 920 1820 w 10 /LucidaSans-Demi f -(1.3.) 720 840 w -(Meshes) 962 840 w -(1.4.) 720 1080 w -(Primitives) 962 1080 w -(1.5.) 720 1320 w -(Materials) 962 1320 w -(2.) 720 1560 w -(Cameras) 873 1560 w -(3.) 720 1956 w -(The renderer) 873 1956 w +(2.) 720 2120 w +(Cameras) 873 2120 w +(3.) 720 2516 w +(The renderer) 873 2516 w 10 /LucidaSansUnicode00 f -(The) 720 2112 w +(The) 720 2672 w 10 /LucidaSans-Italic f -(renderer) 938 2112 w +(renderer) 938 2672 w 10 /LucidaSansUnicode00 f -(is) 1401 2112 w -(the) 1518 2112 w -(core) 1710 2112 w -(of) 1956 2112 w -(the) 2091 2112 w -(library.) 2283 2112 w -(It) 2662 2112 w -(follows) 2766 2112 w -(a) 3149 2112 w +(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 10 /LucidaSans-Demi f -(retained) 3242 2112 w -(mode) 3708 2112 w +(retained) 3242 2672 w +(mode) 3708 2672 w 10 /LucidaSansUnicode00 f -(model,) 4032 2112 w -(which) 4404 2112 w -(means) 4723 2112 w -(that) 720 2232 w -(the) 955 2232 w -(user) 1154 2232 w -(won) 1408 2232 w +(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 2232 w +(\031) 1608 2792 w 10 /LucidaSansUnicode00 f -(t) 1640 2232 w -(get) 1721 2232 w -(a) 1920 2232 w -(picture) 2019 2232 w -(until) 2402 2232 w -(the) 2665 2232 w -(entire) 2864 2232 w -(scene) 3189 2232 w -(has) 3509 2232 w -(been) 3721 2232 w -(rendered.) 4002 2232 w -(Thanks) 4548 2232 w -(to) 4942 2232 w -(this) 720 2352 w -(we) 944 2352 w -(can) 1122 2352 w -(also) 1335 2352 w -(clear) 1576 2352 w -(and) 1853 2352 w -(swap) 2078 2352 w -(the) 2369 2352 w -(framebuffers) 2569 2352 w -(without) 3243 2352 w -(their) 3653 2352 w -(intervention,) 3923 2352 w -(they) 4584 2352 w -(only) 4836 2352 w -(need to concern themselves with shooting and ) 720 2472 w +(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 10 /LucidaSansUnicode20 f -(\034) 3016 2472 w +(\034) 3016 3032 w 10 /LucidaSansUnicode00 f -(developing) 3053 2472 w +(developing) 3053 3032 w 10 /LucidaSansUnicode20 f -(\035) 3586 2472 w +(\035) 3586 3032 w 10 /LucidaSansUnicode00 f -(a camera.) 3655 2472 w -(It) 720 2628 w +(a camera.) 3655 3032 w +(It) 720 3188 w 10 /LucidaSansUnicode20 f -(\031) 786 2628 w +(\031) 786 3188 w 10 /LucidaSansUnicode00 f -(s implemented as a tree of concurrent processes) 818 2628 w -(connected) 3217 2628 w -(by) 3749 2628 w +(s implemented as a tree of concurrent processes) 818 3188 w +(connected) 3217 3188 w +(by) 3749 3188 w 10 /LucidaTypewriter f -(Channel) 3897 2628 w +(Channel) 3897 3188 w 10 /LucidaSansUnicode00 f -(s) 4401 2628 w +(s) 4401 3188 w 10 /LucidaSansUnicode20 f -(\024) 4452 2628 w +(\024) 4452 3188 w 10 /LucidaSansUnicode00 f -(as) 4552 2628 w -(seen) 4691 2628 w -(in) 4949 2628 w +(as) 4552 3188 w +(seen) 4691 3188 w +(in) 4949 3188 w 10 /LucidaSans-Demi f -(Figure) 720 2748 w -(2) 1088 2748 w +(Figure) 720 3308 w +(2) 1088 3308 w 10 /LucidaSansUnicode20 f -(\024) 1152 2748 w +(\024) 1152 3308 w 10 /LucidaSansUnicode00 f -(,) 1252 2748 w -(spawned) 1326 2748 w -(with) 1795 2748 w -(a) 2042 2748 w -(call) 2139 2748 w -(to) 2345 2748 w +(,) 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 2748 w +(initgraphics) 2485 3308 w 10 /LucidaSansUnicode00 f -(,) 3349 2748 w -(each) 3423 2748 w -(representing) 3689 2748 w -(a) 4347 2748 w -(stage) 4444 2748 w -(of) 4746 2748 w -(the) 4885 2748 w -(pipeline:) 720 2868 w -10 /LucidaSansUnicode20 f -(") 720 3024 w -10 /LucidaSansUnicode00 f -(The) 970 3024 w +(,) 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 +(S1:) 720 3584 w +(The) 970 3584 w 10 /LucidaSans-Demi f -(renderer) 1234 3024 w +(renderer) 1234 3584 w 10 /LucidaSansUnicode00 f -(process,) 1761 3024 w -(the) 2250 3024 w -(root) 2488 3024 w -(of) 2771 3024 w -(the) 2952 3024 w -(tree,) 3190 3024 w -(waits) 3495 3024 w -(on) 3828 3024 w -(a) 4035 3024 w +(process,) 1761 3584 w +(the) 2250 3584 w +(root) 2488 3584 w +(of) 2771 3584 w +(the) 2952 3584 w +(tree,) 3190 3584 w +(waits) 3495 3584 w +(on) 3828 3584 w +(a) 4035 3584 w 10 /LucidaTypewriter f -(channel) 4174 3024 w +(channel) 4174 3584 w 10 /LucidaSansUnicode00 f -(for) 4762 3024 w -(a) 4985 3024 w +(for) 4762 3584 w +(a) 4985 3584 w 10 /LucidaTypewriter f -(Renderjob) 970 3144 w +(Renderjob) 970 3704 w 10 /LucidaSansUnicode00 f -(sent) 1667 3144 w -(by) 1922 3144 w -(another) 2086 3144 w -(user) 2509 3144 w -(process,) 2768 3144 w -(specifying) 3223 3144 w -(a) 3764 3144 w -(framebuffer,) 3868 3144 w -(a) 4526 3144 w -(scene,) 4629 3144 w -(a) 4985 3144 w -(camera) 970 3264 w -(and) 1362 3264 w -(a) 1583 3264 w -(shader) 1680 3264 w -(table.) 2050 3264 w -(It) 2396 3264 w -(walks) 2504 3264 w -(the) 2816 3264 w -(scene) 3013 3264 w -(and) 3331 3264 w -(sends) 3553 3264 w -(each) 3878 3264 w +(sent) 1667 3704 w +(by) 1922 3704 w +(another) 2086 3704 w +(user) 2509 3704 w +(process,) 2768 3704 w +(specifying) 3223 3704 w +(a) 3764 3704 w +(framebuffer,) 3868 3704 w +(a) 4526 3704 w +(scene,) 4629 3704 w +(a) 4985 3704 w +(camera) 970 3824 w +(and) 1362 3824 w +(a) 1583 3824 w +(shader) 1680 3824 w +(table.) 2050 3824 w +(It) 2396 3824 w +(walks) 2504 3824 w +(the) 2816 3824 w +(scene) 3013 3824 w +(and) 3331 3824 w +(sends) 3553 3824 w +(each) 3878 3824 w 10 /LucidaTypewriter f -(Entity) 4144 3264 w -10 /LucidaSansUnicode00 f -(individu\255) 4618 3264 w -(ally to the entityproc.) 970 3384 w -10 /LucidaSansUnicode20 f -(") 720 3540 w -10 /LucidaSansUnicode00 f -(The) 970 3540 w -10 /LucidaSans-Demi f -(entityproc) 1198 3540 w -10 /LucidaSansUnicode00 f -(receives) 1771 3540 w -(an) 2210 3540 w -(entity) 2374 3540 w -(and) 2694 3540 w -(splits) 2921 3540 w -(its) 3228 3540 w -(geometry) 3393 3540 w -(equitatively) 3899 3540 w -(among) 4504 3540 w -(the) 4885 3540 w -(tilers, sending a batch for each of them to process.) 970 3660 w -10 /LucidaSansUnicode20 f -(") 720 3816 w +(Entity) 4144 3824 w 10 /LucidaSansUnicode00 f -(Next,) 970 3816 w -(each) 1293 3816 w -10 /LucidaSans-Demi f -(tiler) 1580 3816 w -10 /LucidaSansUnicode00 f -(gets) 1854 3816 w -(to) 2123 3816 w -(work) 2284 3816 w -(on) 2584 3816 w -(their) 2770 3816 w -(subset) 3058 3816 w -(of) 3441 3816 w -(the) 3602 3816 w -(geometry) 3820 3816 w -(\(potentially) 4342 3816 w -(in) 4949 3816 w -(parallel\)) 970 3936 w -10 /LucidaSansUnicode20 f -(\024) 1360 3936 w -10 /LucidaSansUnicode00 f -(see) 1460 3936 w +(individu\255) 4618 3824 w +(ally to the entityproc.) 970 3944 w +1026 5258 1026 4898 Dl +1026 4898 1566 4898 Dl +1566 4898 1566 5258 Dl +1566 5258 1026 5258 Dl +7 /LucidaSansUnicode00 f +(Renderjob) 1123 5092 w +1566 5078 1926 5078 Dl +1854 5096 1926 5078 Dl +1853 5091 1925 5078 Dl +1852 5087 1925 5078 Dl +1851 5082 1925 5078 Dl +1851 5078 1925 5078 Dl +1851 5073 1925 5077 Dl +1852 5068 1925 5077 Dl +1853 5064 1925 5077 Dl +1854 5060 1926 5078 Dl +1926 5078 432 432 De +(renderer) 1997 5092 w +2358 5078 2718 5078 Dl +2646 5096 2718 5078 Dl +2645 5091 2717 5078 Dl +2644 5087 2717 5078 Dl +2643 5082 2717 5078 Dl +2643 5078 2717 5078 Dl +2643 5073 2717 5077 Dl +2644 5068 2717 5077 Dl +2645 5064 2717 5077 Dl +2646 5060 2718 5078 Dl +2718 5078 432 432 De +(entityproc) 2763 5092 w +3510 4322 432 432 De +(tiler) 3626 4336 w +(1) 3782 4336 w +3510 4826 432 432 De +(tiler) 3626 4840 w +(2) 3782 4840 w +3510 5330 432 432 De +7 /LucidaSansUnicode20 f +(&) 3691 5344 w +3510 5834 432 432 De +7 /LucidaSansUnicode00 f +(tiler) 3627 5848 w +(n) 3783 5848 w +4302 4322 432 432 De +(rasterizer) 4322 4336 w +(1) 4670 4336 w +4302 4826 432 432 De +(rasterizer) 4322 4840 w +(2) 4670 4840 w +4302 5330 432 432 De +7 /LucidaSansUnicode20 f +(&) 4483 5344 w +4302 5834 432 432 De +7 /LucidaSansUnicode00 f +(rasterizer) 4323 5848 w +(n) 4671 5848 w +3090 4928 3569 4471 Dl +3530 4533 3569 4471 Dl +3526 4531 3569 4471 Dl +3522 4528 3568 4471 Dl +3519 4525 3569 4471 Dl +3515 4522 3569 4471 Dl +3512 4519 3568 4472 Dl +3510 4515 3569 4471 Dl +3507 4511 3568 4471 Dl +3504 4507 3568 4471 Dl +3139 5012 3519 4892 Dl +3456 4930 3519 4892 Dl +3454 4926 3519 4891 Dl +3452 4922 3519 4892 Dl +3450 4918 3519 4892 Dl +3449 4913 3519 4891 Dl +3448 4909 3520 4891 Dl +3447 4905 3519 4892 Dl +3446 4900 3519 4891 Dl +3445 4895 3519 4891 Dl +3139 5143 3519 5263 Dl +3445 5260 3519 5264 Dl +3446 5255 3519 5264 Dl +3447 5250 3519 5263 Dl +3448 5246 3520 5264 Dl +3449 5242 3519 5264 Dl +3450 5237 3519 5263 Dl +3452 5233 3519 5263 Dl +3454 5229 3519 5264 Dl +3456 5225 3519 5263 Dl +3090 5227 3569 5684 Dl +3504 5648 3568 5684 Dl +3507 5644 3568 5684 Dl +3510 5640 3569 5684 Dl +3512 5636 3568 5683 Dl +3515 5633 3569 5684 Dl +3519 5630 3569 5684 Dl +3522 5627 3568 5684 Dl +3526 5624 3569 5684 Dl +3530 5622 3569 5684 Dl +3942 4322 4302 4322 Dl +4230 4340 4302 4322 Dl +4229 4335 4301 4322 Dl +4228 4331 4301 4322 Dl +4227 4326 4301 4322 Dl +4227 4322 4301 4322 Dl +4227 4317 4301 4321 Dl +4228 4312 4301 4321 Dl +4229 4308 4301 4321 Dl +4230 4304 4302 4322 Dl +3908 4437 4335 4709 Dl +4265 4686 4335 4709 Dl +4266 4682 4335 4710 Dl +4268 4678 4334 4709 Dl +4271 4674 4335 4710 Dl +4273 4670 4335 4709 Dl +4275 4666 4334 4709 Dl +4278 4662 4335 4709 Dl +4281 4659 4335 4709 Dl +4284 4656 4335 4710 Dl +3859 4491 4383 5159 Dl +4325 5114 4383 5159 Dl +4328 5111 4383 5159 Dl +4332 5107 4384 5159 Dl +4335 5104 4384 5159 Dl +4338 5101 4384 5159 Dl +4342 5098 4384 5159 Dl +4345 5096 4383 5159 Dl +4350 5094 4384 5159 Dl +4354 5092 4384 5159 Dl +3826 4513 4417 5642 Dl +4368 5587 4417 5642 Dl +4371 5584 4417 5642 Dl +4375 5581 4417 5642 Dl +4379 5579 4417 5642 Dl +4383 5576 4417 5641 Dl +4387 5574 4417 5641 Dl +4391 5573 4416 5642 Dl +4395 5571 4416 5642 Dl +4400 5570 4417 5642 Dl +3908 4710 4335 4438 Dl +4284 4491 4335 4437 Dl +4281 4488 4335 4438 Dl +4278 4485 4335 4438 Dl +4275 4481 4334 4438 Dl +4273 4477 4335 4438 Dl +4271 4473 4335 4437 Dl +4268 4469 4334 4438 Dl +4266 4466 4335 4438 Dl +4265 4461 4335 4438 Dl +3942 4826 4302 4826 Dl +4230 4844 4302 4826 Dl +4229 4839 4301 4826 Dl +4228 4835 4301 4826 Dl +4227 4830 4301 4826 Dl +4227 4826 4301 4826 Dl +4227 4821 4301 4825 Dl +4228 4816 4301 4825 Dl +4229 4812 4301 4825 Dl +4230 4808 4302 4826 Dl +3908 4941 4335 5213 Dl +4265 5190 4335 5213 Dl +4266 5186 4335 5214 Dl +4268 5182 4334 5213 Dl +4271 5178 4335 5214 Dl +4273 5174 4335 5213 Dl +4275 5170 4334 5213 Dl +4278 5166 4335 5213 Dl +4281 5163 4335 5213 Dl +4284 5160 4335 5214 Dl +3859 4995 4383 5663 Dl +4325 5618 4383 5663 Dl +4328 5615 4383 5663 Dl +4332 5611 4384 5663 Dl +4335 5608 4384 5663 Dl +4338 5605 4384 5663 Dl +4342 5602 4384 5663 Dl +4345 5600 4383 5663 Dl +4350 5598 4384 5663 Dl +4354 5596 4384 5663 Dl 10 /LucidaSans-Demi f -(Figure) 1675 3936 w -(3) 2053 3936 w +(Figure 2) 1562 6248 w 10 /LucidaSansUnicode00 f -(.) 2117 3936 w -(They) 2233 3936 w -(walk) 2518 3936 w -(the) 2789 3936 w -(list) 2996 3936 w -(of) 3194 3936 w -(primitives,) 3344 3936 w -(then) 3908 3936 w -(for) 4177 3936 w -(each) 4368 3936 w -(of) 4643 3936 w -(them) 4792 3936 w -(apply) 970 4056 w -(the) 1281 4056 w +(: The rendering graph for a) 1984 6248 w 10 /LucidaSans-Demi f -(vertex) 1485 4056 w -(shader) 1856 4056 w +(2n) 3338 6248 w 10 /LucidaSansUnicode00 f -(to) 2257 4056 w -(its) 2405 4056 w -(vertices) 2572 4056 w -(\(which) 2995 4056 w -(expects) 3359 4056 w -(clip) 3784 4056 w -(space) 4006 4056 w -(coordinates) 4332 4056 w -(in) 4949 4056 w -(return\),) 970 4176 w -(perform) 1378 4176 w -(frustum) 1813 4176 w -(culling) 2239 4176 w -(and) 2606 4176 w -(clipping,) 2829 4176 w -(back-face) 3292 4176 w -(culling,) 3819 4176 w -(and) 4218 4176 w -(then) 4441 4176 w -(project) 4701 4176 w -(them) 970 4296 w -(into) 1258 4296 w -(the) 1487 4296 w -(viewport) 1682 4296 w -(\(screen) 2138 4296 w -(space\).) 2528 4296 w -(Following) 2941 4296 w -(this) 3445 4296 w -(step,) 3665 4296 w -(they) 3945 4296 w -(build) 4193 4296 w -(a) 4480 4296 w -(bounding) 4576 4296 w -(box,) 970 4416 w -(used) 1220 4416 w -(to) 1485 4416 w -(allocate) 1616 4416 w -(each) 2022 4416 w -(primitive) 2279 4416 w -(into a rasterization bucket, or) 2741 4416 w +(processor machine.) 3500 6248 w +(S2:) 720 6404 w +(The) 970 6404 w 10 /LucidaSans-Demi f -(tile) 4217 4416 w +(entityproc) 1198 6404 w 10 /LucidaSansUnicode00 f -(, managed by) 4383 4416 w -(one) 970 4536 w -(of) 1183 4536 w -(the) 1315 4536 w -(rasterizers;) 1504 4536 w -(as) 2085 4536 w -(illustrated) 2226 4536 w -(in) 2750 4536 w +(receives) 1771 6404 w +(an) 2210 6404 w +(entity) 2374 6404 w +(and) 2694 6404 w +(splits) 2921 6404 w +(its) 3228 6404 w +(geometry) 3393 6404 w +(equitatively) 3899 6404 w +(among) 4504 6404 w +(the) 4885 6404 w +(tilers, sending a batch for each of them to process.) 970 6524 w +(S3:) 720 6680 w +(Next,) 970 6680 w +(each) 1293 6680 w 10 /LucidaSans-Demi f -(Figure) 2876 4536 w -(4) 3237 4536 w +(tiler) 1580 6680 w 10 /LucidaSansUnicode00 f -(.) 3301 4536 w -(If) 3400 4536 w -(it) 3501 4536 w -(spans) 3602 4536 w -(multiple) 3919 4536 w -(tiles,) 4352 4536 w -(it) 4621 4536 w -(will) 4722 4536 w -(be) 4921 4536 w -(copied and sent to each of them.) 970 4656 w +(gets) 1854 6680 w +(to) 2123 6680 w +(work) 2284 6680 w +(on) 2584 6680 w +(their) 2770 6680 w +(subset) 3058 6680 w +(of) 3441 6680 w +(the) 3602 6680 w +(geometry) 3820 6680 w +(\(potentially) 4342 6680 w +(in) 4949 6680 w +(parallel\)) 970 6800 w 10 /LucidaSansUnicode20 f -(") 720 4812 w +(\024) 1360 6800 w 10 /LucidaSansUnicode00 f -(Finally,) 970 4812 w -(the) 1346 4812 w +(see) 1460 6800 w 10 /LucidaSans-Demi f -(rasterizers) 1535 4812 w +(Figure) 1675 6800 w +(3) 2053 6800 w 10 /LucidaSansUnicode00 f -(receive) 2128 4812 w -(the) 2503 4812 w -(primitive) 2692 4812 w -(in) 3155 4812 w -(screen) 3280 4812 w -(space,) 3631 4812 w -(slice) 3974 4812 w -(it) 4225 4812 w -(to) 4326 4812 w -(fit) 4459 4812 w -(their) 4597 4812 w -(tile,) 4857 4812 w -(and) 970 4932 w -(apply) 1186 4932 w -(a) 1484 4932 w -(rasterization) 1575 4932 w -(routine) 2222 4932 w -(based) 2606 4932 w -(on) 2930 4932 w -(its) 3089 4932 w -(type.) 3242 4932 w -(For) 3518 4932 w -(each) 3710 4932 w -(of) 3970 4932 w -(the) 4104 4932 w -(pixels,) 4295 4932 w -(a) 4652 4932 w +(.) 2117 6800 w +(They) 2233 6800 w +(walk) 2518 6800 w +(the) 2789 6800 w +(list) 2996 6800 w +(of) 3194 6800 w +(primitives,) 3344 6800 w +(then) 3908 6800 w +(for) 4177 6800 w +(each) 4368 6800 w +(of) 4643 6800 w +(them) 4792 6800 w +(apply) 970 6920 w +(the) 1281 6920 w 10 /LucidaSans-Demi f -(depth) 4742 4932 w -(test) 970 5052 w +(vertex) 1485 6920 w +(shader) 1856 6920 w 10 /LucidaSansUnicode00 f -(is) 1215 5052 w -(performed,) 1343 5052 w -(discarding) 1934 5052 w -(fragments) 2488 5052 w -(that) 3030 5052 w -(are) 3269 5052 w -(further) 3469 5052 w -(away.) 3853 5052 w -(Then) 4172 5052 w -(a) 4463 5052 w +(to) 2257 6920 w +(its) 2405 6920 w +(vertices) 2572 6920 w +(\(which) 2995 6920 w +(expects) 3359 6920 w +(clip) 3784 6920 w +(space) 4006 6920 w +(coordinates) 4332 6920 w +(in) 4949 6920 w +(return\),) 970 7040 w +(perform) 1378 7040 w +(frustum) 1813 7040 w +(culling) 2239 7040 w +(and) 2606 7040 w +(clipping,) 2829 7040 w +(back-face) 3292 7040 w +(culling,) 3819 7040 w +(and) 4218 7040 w +(then) 4441 7040 w +(project) 4701 7040 w +(them) 970 7160 w +(into) 1258 7160 w +(the) 1487 7160 w +(viewport) 1682 7160 w +(\(screen) 2138 7160 w +(space\).) 2528 7160 w +(Following) 2941 7160 w +(this) 3445 7160 w +(step,) 3665 7160 w +(they) 3945 7160 w +(build) 4193 7160 w +(a) 4480 7160 w +(bounding) 4576 7160 w +(box,) 970 7280 w +(used) 1220 7280 w +(to) 1485 7280 w +(allocate) 1616 7280 w +(each) 2022 7280 w +(primitive) 2279 7280 w +(into a rasterization bucket, or) 2741 7280 w 10 /LucidaSans-Demi f -(fragment) 4566 5052 w -(shader) 970 5172 w -10 /LucidaSansUnicode00 f -(is applied and the result written to the framebuffer after blending.) 1354 5172 w -1026 6522 1026 6162 Dl -1026 6162 1566 6162 Dl -1566 6162 1566 6522 Dl -1566 6522 1026 6522 Dl -7 /LucidaSansUnicode00 f -(Renderjob) 1123 6356 w -1566 6342 1926 6342 Dl -1854 6360 1926 6342 Dl -1853 6355 1925 6342 Dl -1852 6351 1925 6342 Dl -1851 6346 1925 6342 Dl -1851 6342 1925 6342 Dl -1851 6337 1925 6341 Dl -1852 6332 1925 6341 Dl -1853 6328 1925 6341 Dl -1854 6324 1926 6342 Dl -1926 6342 432 432 De -(renderer) 1997 6356 w -2358 6342 2718 6342 Dl -2646 6360 2718 6342 Dl -2645 6355 2717 6342 Dl -2644 6351 2717 6342 Dl -2643 6346 2717 6342 Dl -2643 6342 2717 6342 Dl -2643 6337 2717 6341 Dl -2644 6332 2717 6341 Dl -2645 6328 2717 6341 Dl -2646 6324 2718 6342 Dl -2718 6342 432 432 De -(entityproc) 2763 6356 w -3510 5586 432 432 De -(tiler) 3626 5600 w -(1) 3782 5600 w -3510 6090 432 432 De -(tiler) 3626 6104 w -(2) 3782 6104 w -3510 6594 432 432 De -7 /LucidaSansUnicode20 f -(&) 3691 6608 w -3510 7098 432 432 De -7 /LucidaSansUnicode00 f -(tiler) 3627 7112 w -(n) 3783 7112 w -4302 5586 432 432 De -(rasterizer) 4322 5600 w -(1) 4670 5600 w -4302 6090 432 432 De -(rasterizer) 4322 6104 w -(2) 4670 6104 w -4302 6594 432 432 De -7 /LucidaSansUnicode20 f -(&) 4483 6608 w -4302 7098 432 432 De -7 /LucidaSansUnicode00 f -(rasterizer) 4323 7112 w -(n) 4671 7112 w -3090 6192 3569 5735 Dl -3530 5797 3569 5735 Dl -3526 5795 3569 5735 Dl -3522 5792 3568 5735 Dl -3519 5789 3569 5735 Dl -3515 5786 3569 5735 Dl -3512 5783 3568 5736 Dl -3510 5779 3569 5735 Dl -3507 5775 3568 5735 Dl -3504 5771 3568 5735 Dl -3139 6276 3519 6156 Dl -3456 6194 3519 6156 Dl -3454 6190 3519 6155 Dl -3452 6186 3519 6156 Dl -3450 6182 3519 6156 Dl -3449 6177 3519 6155 Dl -3448 6173 3520 6155 Dl -3447 6169 3519 6156 Dl -3446 6164 3519 6155 Dl -3445 6159 3519 6155 Dl -3139 6407 3519 6527 Dl -3445 6524 3519 6528 Dl -3446 6519 3519 6528 Dl -3447 6514 3519 6527 Dl -3448 6510 3520 6528 Dl -3449 6506 3519 6528 Dl -3450 6501 3519 6527 Dl -3452 6497 3519 6527 Dl -3454 6493 3519 6528 Dl -3456 6489 3519 6527 Dl -3090 6491 3569 6948 Dl -3504 6912 3568 6948 Dl -3507 6908 3568 6948 Dl -3510 6904 3569 6948 Dl -3512 6900 3568 6947 Dl -3515 6897 3569 6948 Dl -3519 6894 3569 6948 Dl -3522 6891 3568 6948 Dl -3526 6888 3569 6948 Dl -3530 6886 3569 6948 Dl -3942 5586 4302 5586 Dl -4230 5604 4302 5586 Dl -4229 5599 4301 5586 Dl -4228 5595 4301 5586 Dl -4227 5590 4301 5586 Dl -4227 5586 4301 5586 Dl -4227 5581 4301 5585 Dl -4228 5576 4301 5585 Dl -4229 5572 4301 5585 Dl -4230 5568 4302 5586 Dl -3908 5701 4335 5973 Dl -4265 5950 4335 5973 Dl -4266 5946 4335 5974 Dl -4268 5942 4334 5973 Dl -4271 5938 4335 5974 Dl -4273 5934 4335 5973 Dl -4275 5930 4334 5973 Dl -4278 5926 4335 5973 Dl -4281 5923 4335 5973 Dl -4284 5920 4335 5974 Dl -3859 5755 4383 6423 Dl -4325 6378 4383 6423 Dl -4328 6375 4383 6423 Dl -4332 6371 4384 6423 Dl -4335 6368 4384 6423 Dl -4338 6365 4384 6423 Dl -4342 6362 4384 6423 Dl -4345 6360 4383 6423 Dl -4350 6358 4384 6423 Dl -4354 6356 4384 6423 Dl -3826 5777 4417 6906 Dl -4368 6851 4417 6906 Dl -4371 6848 4417 6906 Dl -4375 6845 4417 6906 Dl -4379 6843 4417 6906 Dl -4383 6840 4417 6905 Dl -4387 6838 4417 6905 Dl -4391 6837 4416 6906 Dl -4395 6835 4416 6906 Dl -4400 6834 4417 6906 Dl -3908 5974 4335 5702 Dl -4284 5755 4335 5701 Dl -4281 5752 4335 5702 Dl -4278 5749 4335 5702 Dl -4275 5745 4334 5702 Dl -4273 5741 4335 5702 Dl -4271 5737 4335 5701 Dl -4268 5733 4334 5702 Dl -4266 5730 4335 5702 Dl -4265 5725 4335 5702 Dl -3942 6090 4302 6090 Dl -4230 6108 4302 6090 Dl -4229 6103 4301 6090 Dl -4228 6099 4301 6090 Dl -4227 6094 4301 6090 Dl -4227 6090 4301 6090 Dl -4227 6085 4301 6089 Dl -4228 6080 4301 6089 Dl -4229 6076 4301 6089 Dl -4230 6072 4302 6090 Dl -3908 6205 4335 6477 Dl -4265 6454 4335 6477 Dl -4266 6450 4335 6478 Dl -4268 6446 4334 6477 Dl -4271 6442 4335 6478 Dl -4273 6438 4335 6477 Dl -4275 6434 4334 6477 Dl -4278 6430 4335 6477 Dl -4281 6427 4335 6477 Dl -4284 6424 4335 6478 Dl -3859 6259 4383 6927 Dl -4325 6882 4383 6927 Dl -4328 6879 4383 6927 Dl -4332 6875 4384 6927 Dl -4335 6872 4384 6927 Dl -4338 6869 4384 6927 Dl -4342 6866 4384 6927 Dl -4345 6864 4383 6927 Dl -4350 6862 4384 6927 Dl -4354 6860 4384 6927 Dl +(tile) 4217 7280 w 10 /LucidaSansUnicode00 f -(July 23, 2024) 2556 7680 w +(, managed by) 4383 7280 w +(August 3, 2024) 2503 7680 w cleartomark showpage saveobj restore -%%EndPage: 2 2 -%%Page: 3 3 +%%EndPage: 3 3 +%%Page: 4 4 /saveobj save def mark -3 pagesetup -10 /LucidaSansUnicode00 f -(\255 3 \255) 2783 480 w -10 /LucidaSans-Demi f -(Figure 2) 1437 840 w +4 pagesetup 10 /LucidaSansUnicode00 f -(: The rendering graph for a) 1859 840 w +(\255 4 \255) 2783 480 w +(one) 970 840 w +(of) 1183 840 w +(the) 1315 840 w +(rasterizers;) 1504 840 w +(as) 2085 840 w +(illustrated) 2226 840 w +(in) 2750 840 w 10 /LucidaSans-Demi f -(2n) 3213 840 w +(Figure) 2876 840 w +(4) 3237 840 w 10 /LucidaSansUnicode00 f -(processor machine.) 3375 840 w -2070 1830 2106 1830 Dl -2142 1830 2178 1830 Dl -2214 1830 2250 1830 Dl -2286 1830 2322 1830 Dl -2358 1830 2394 1830 Dl -2430 1830 2466 1830 Dl -2502 1830 2538 1830 Dl -2574 1830 2610 1830 Dl -2646 1830 2682 1830 Dl -2718 1830 2754 1830 Dl -2790 1830 2826 1830 Dl -2862 1830 2898 1830 Dl -2934 1830 2970 1830 Dl -2970 1830 2970 1794 Dl -2970 1776 2970 1740 Dl -2970 1722 2970 1686 Dl -2970 1686 2934 1686 Dl -2898 1686 2862 1686 Dl -2826 1686 2790 1686 Dl -2754 1686 2718 1686 Dl -2682 1686 2646 1686 Dl -2610 1686 2574 1686 Dl -2538 1686 2502 1686 Dl -2466 1686 2430 1686 Dl -2394 1686 2358 1686 Dl -2322 1686 2286 1686 Dl -2250 1686 2214 1686 Dl -2178 1686 2142 1686 Dl -2106 1686 2070 1686 Dl -2070 1686 2070 1722 Dl -2070 1740 2070 1776 Dl -2070 1794 2070 1830 Dl +(.) 3301 840 w +(If) 3400 840 w +(it) 3501 840 w +(spans) 3602 840 w +(multiple) 3919 840 w +(tiles,) 4352 840 w +(it) 4621 840 w +(will) 4722 840 w +(be) 4921 840 w +(copied and sent to each of them.) 970 960 w +2070 1950 2106 1950 Dl +2142 1950 2178 1950 Dl +2214 1950 2250 1950 Dl +2286 1950 2322 1950 Dl +2358 1950 2394 1950 Dl +2430 1950 2466 1950 Dl +2502 1950 2538 1950 Dl +2574 1950 2610 1950 Dl +2646 1950 2682 1950 Dl +2718 1950 2754 1950 Dl +2790 1950 2826 1950 Dl +2862 1950 2898 1950 Dl +2934 1950 2970 1950 Dl +2970 1950 2970 1914 Dl +2970 1896 2970 1860 Dl +2970 1842 2970 1806 Dl +2970 1806 2934 1806 Dl +2898 1806 2862 1806 Dl +2826 1806 2790 1806 Dl +2754 1806 2718 1806 Dl +2682 1806 2646 1806 Dl +2610 1806 2574 1806 Dl +2538 1806 2502 1806 Dl +2466 1806 2430 1806 Dl +2394 1806 2358 1806 Dl +2322 1806 2286 1806 Dl +2250 1806 2214 1806 Dl +2178 1806 2142 1806 Dl +2106 1806 2070 1806 Dl +2070 1806 2070 1842 Dl +2070 1860 2070 1896 Dl +2070 1914 2070 1950 Dl 7 /LucidaSansUnicode00 f -(tile 1) 2435 1772 w -2070 1974 2106 1974 Dl -2142 1974 2178 1974 Dl -2214 1974 2250 1974 Dl -2286 1974 2322 1974 Dl -2358 1974 2394 1974 Dl -2430 1974 2466 1974 Dl -2502 1974 2538 1974 Dl -2574 1974 2610 1974 Dl -2646 1974 2682 1974 Dl -2718 1974 2754 1974 Dl -2790 1974 2826 1974 Dl -2862 1974 2898 1974 Dl -2934 1974 2970 1974 Dl -2970 1974 2970 1938 Dl -2970 1920 2970 1884 Dl -2970 1866 2970 1830 Dl -2970 1830 2934 1830 Dl -2898 1830 2862 1830 Dl -2826 1830 2790 1830 Dl -2754 1830 2718 1830 Dl -2682 1830 2646 1830 Dl -2610 1830 2574 1830 Dl -2538 1830 2502 1830 Dl -2466 1830 2430 1830 Dl -2394 1830 2358 1830 Dl -2322 1830 2286 1830 Dl -2250 1830 2214 1830 Dl -2178 1830 2142 1830 Dl -2106 1830 2070 1830 Dl -2070 1830 2070 1866 Dl -2070 1884 2070 1920 Dl -2070 1938 2070 1974 Dl -(tile 2) 2435 1916 w -2070 2118 2106 2118 Dl -2142 2118 2178 2118 Dl -2214 2118 2250 2118 Dl -2286 2118 2322 2118 Dl -2358 2118 2394 2118 Dl -2430 2118 2466 2118 Dl -2502 2118 2538 2118 Dl -2574 2118 2610 2118 Dl -2646 2118 2682 2118 Dl -2718 2118 2754 2118 Dl -2790 2118 2826 2118 Dl -2862 2118 2898 2118 Dl -2934 2118 2970 2118 Dl -2970 2118 2970 2082 Dl -2970 2064 2970 2028 Dl -2970 2010 2970 1974 Dl -2970 1974 2934 1974 Dl -2898 1974 2862 1974 Dl -2826 1974 2790 1974 Dl -2754 1974 2718 1974 Dl -2682 1974 2646 1974 Dl -2610 1974 2574 1974 Dl -2538 1974 2502 1974 Dl -2466 1974 2430 1974 Dl -2394 1974 2358 1974 Dl -2322 1974 2286 1974 Dl -2250 1974 2214 1974 Dl -2178 1974 2142 1974 Dl -2106 1974 2070 1974 Dl -2070 1974 2070 2010 Dl -2070 2028 2070 2064 Dl -2070 2082 2070 2118 Dl +(tile 1) 2435 1892 w +2070 2094 2106 2094 Dl +2142 2094 2178 2094 Dl +2214 2094 2250 2094 Dl +2286 2094 2322 2094 Dl +2358 2094 2394 2094 Dl +2430 2094 2466 2094 Dl +2502 2094 2538 2094 Dl +2574 2094 2610 2094 Dl +2646 2094 2682 2094 Dl +2718 2094 2754 2094 Dl +2790 2094 2826 2094 Dl +2862 2094 2898 2094 Dl +2934 2094 2970 2094 Dl +2970 2094 2970 2058 Dl +2970 2040 2970 2004 Dl +2970 1986 2970 1950 Dl +2970 1950 2934 1950 Dl +2898 1950 2862 1950 Dl +2826 1950 2790 1950 Dl +2754 1950 2718 1950 Dl +2682 1950 2646 1950 Dl +2610 1950 2574 1950 Dl +2538 1950 2502 1950 Dl +2466 1950 2430 1950 Dl +2394 1950 2358 1950 Dl +2322 1950 2286 1950 Dl +2250 1950 2214 1950 Dl +2178 1950 2142 1950 Dl +2106 1950 2070 1950 Dl +2070 1950 2070 1986 Dl +2070 2004 2070 2040 Dl +2070 2058 2070 2094 Dl +(tile 2) 2435 2036 w +2070 2238 2106 2238 Dl +2142 2238 2178 2238 Dl +2214 2238 2250 2238 Dl +2286 2238 2322 2238 Dl +2358 2238 2394 2238 Dl +2430 2238 2466 2238 Dl +2502 2238 2538 2238 Dl +2574 2238 2610 2238 Dl +2646 2238 2682 2238 Dl +2718 2238 2754 2238 Dl +2790 2238 2826 2238 Dl +2862 2238 2898 2238 Dl +2934 2238 2970 2238 Dl +2970 2238 2970 2202 Dl +2970 2184 2970 2148 Dl +2970 2130 2970 2094 Dl +2970 2094 2934 2094 Dl +2898 2094 2862 2094 Dl +2826 2094 2790 2094 Dl +2754 2094 2718 2094 Dl +2682 2094 2646 2094 Dl +2610 2094 2574 2094 Dl +2538 2094 2502 2094 Dl +2466 2094 2430 2094 Dl +2394 2094 2358 2094 Dl +2322 2094 2286 2094 Dl +2250 2094 2214 2094 Dl +2178 2094 2142 2094 Dl +2106 2094 2070 2094 Dl +2070 2094 2070 2130 Dl +2070 2148 2070 2184 Dl +2070 2202 2070 2238 Dl 7 /LucidaSansUnicode20 f -(&) 2485 2060 w -2070 2262 2106 2262 Dl -2142 2262 2178 2262 Dl -2214 2262 2250 2262 Dl -2286 2262 2322 2262 Dl -2358 2262 2394 2262 Dl -2430 2262 2466 2262 Dl -2502 2262 2538 2262 Dl -2574 2262 2610 2262 Dl -2646 2262 2682 2262 Dl -2718 2262 2754 2262 Dl -2790 2262 2826 2262 Dl -2862 2262 2898 2262 Dl -2934 2262 2970 2262 Dl -2970 2262 2970 2226 Dl -2970 2208 2970 2172 Dl -2970 2154 2970 2118 Dl -2970 2118 2934 2118 Dl -2898 2118 2862 2118 Dl -2826 2118 2790 2118 Dl -2754 2118 2718 2118 Dl -2682 2118 2646 2118 Dl -2610 2118 2574 2118 Dl -2538 2118 2502 2118 Dl -2466 2118 2430 2118 Dl -2394 2118 2358 2118 Dl -2322 2118 2286 2118 Dl -2250 2118 2214 2118 Dl -2178 2118 2142 2118 Dl -2106 2118 2070 2118 Dl -2070 2118 2070 2154 Dl -2070 2172 2070 2208 Dl -2070 2226 2070 2262 Dl +(&) 2485 2180 w +2070 2382 2106 2382 Dl +2142 2382 2178 2382 Dl +2214 2382 2250 2382 Dl +2286 2382 2322 2382 Dl +2358 2382 2394 2382 Dl +2430 2382 2466 2382 Dl +2502 2382 2538 2382 Dl +2574 2382 2610 2382 Dl +2646 2382 2682 2382 Dl +2718 2382 2754 2382 Dl +2790 2382 2826 2382 Dl +2862 2382 2898 2382 Dl +2934 2382 2970 2382 Dl +2970 2382 2970 2346 Dl +2970 2328 2970 2292 Dl +2970 2274 2970 2238 Dl +2970 2238 2934 2238 Dl +2898 2238 2862 2238 Dl +2826 2238 2790 2238 Dl +2754 2238 2718 2238 Dl +2682 2238 2646 2238 Dl +2610 2238 2574 2238 Dl +2538 2238 2502 2238 Dl +2466 2238 2430 2238 Dl +2394 2238 2358 2238 Dl +2322 2238 2286 2238 Dl +2250 2238 2214 2238 Dl +2178 2238 2142 2238 Dl +2106 2238 2070 2238 Dl +2070 2238 2070 2274 Dl +2070 2292 2070 2328 Dl +2070 2346 2070 2382 Dl 7 /LucidaSansUnicode00 f -(tile n) 2435 2204 w -2034 2298 2034 1650 Dl -2034 1650 3006 1650 Dl -3006 1650 3006 2298 Dl -3006 2298 2034 2298 Dl -(Framebuf) 1675 1700 w -3330 1218 432 432 De -(rasterizer) 3350 1232 w -(1) 3698 1232 w -3330 1722 432 432 De -(rasterizer) 3350 1736 w -(2) 3698 1736 w -3330 2226 432 432 De +(tile n) 2435 2324 w +2034 2418 2034 1770 Dl +2034 1770 3006 1770 Dl +3006 1770 3006 2418 Dl +3006 2418 2034 2418 Dl +(Framebuf) 1675 1820 w +3330 1338 432 432 De +(rasterizer) 3350 1352 w +(1) 3698 1352 w +3330 1842 432 432 De +(rasterizer) 3350 1856 w +(2) 3698 1856 w +3330 2346 432 432 De 7 /LucidaSansUnicode20 f -(&) 3511 2240 w -3330 2730 432 432 De +(&) 3511 2360 w +3330 2850 432 432 De 7 /LucidaSansUnicode00 f -(rasterizer) 3351 2744 w -(n) 3699 2744 w -2970 1758 3330 1218 Dl -2970 1902 3330 1722 Dl -2970 2046 3330 2226 Dl -2970 2190 3330 2730 Dl +(rasterizer) 3351 2864 w +(n) 3699 2864 w +2970 1878 3330 1338 Dl +2970 2022 3330 1842 Dl +2970 2166 3330 2346 Dl +2970 2310 3330 2850 Dl 10 /LucidaSans-Demi f -(Figure 3) 2180 3144 w +(Figure 3) 2305 3264 w 10 /LucidaSansUnicode00 f -(: Per tile rasterizers.) 2602 3144 w -2070 4134 2106 4134 Dl -2142 4134 2178 4134 Dl -2214 4134 2250 4134 Dl -2286 4134 2322 4134 Dl -2358 4134 2394 4134 Dl -2430 4134 2466 4134 Dl -2502 4134 2538 4134 Dl -2574 4134 2610 4134 Dl -2646 4134 2682 4134 Dl -2718 4134 2754 4134 Dl -2790 4134 2826 4134 Dl -2862 4134 2898 4134 Dl -2934 4134 2970 4134 Dl -2970 4134 2970 4098 Dl -2970 4080 2970 4044 Dl -2970 4026 2970 3990 Dl -2970 3990 2934 3990 Dl -2898 3990 2862 3990 Dl -2826 3990 2790 3990 Dl -2754 3990 2718 3990 Dl -2682 3990 2646 3990 Dl -2610 3990 2574 3990 Dl -2538 3990 2502 3990 Dl -2466 3990 2430 3990 Dl -2394 3990 2358 3990 Dl -2322 3990 2286 3990 Dl -2250 3990 2214 3990 Dl -2178 3990 2142 3990 Dl -2106 3990 2070 3990 Dl -2070 3990 2070 4026 Dl -2070 4044 2070 4080 Dl -2070 4098 2070 4134 Dl +(: Per tile rasterizers.) 2727 3264 w +(S4:) 720 3420 w +(Finally,) 970 3420 w +(the) 1346 3420 w +10 /LucidaSans-Demi f +(rasterizers) 1535 3420 w +10 /LucidaSansUnicode00 f +(receive) 2128 3420 w +(the) 2503 3420 w +(primitive) 2692 3420 w +(in) 3155 3420 w +(screen) 3280 3420 w +(space,) 3631 3420 w +(slice) 3974 3420 w +(it) 4225 3420 w +(to) 4326 3420 w +(fit) 4459 3420 w +(their) 4597 3420 w +(tile,) 4857 3420 w +(and) 970 3540 w +(apply) 1186 3540 w +(a) 1484 3540 w +(rasterization) 1575 3540 w +(routine) 2222 3540 w +(based) 2606 3540 w +(on) 2930 3540 w +(its) 3089 3540 w +(type.) 3242 3540 w +(For) 3518 3540 w +(each) 3710 3540 w +(of) 3970 3540 w +(the) 4104 3540 w +(pixels,) 4295 3540 w +(a) 4652 3540 w +10 /LucidaSans-Demi f +(depth) 4742 3540 w +(test) 970 3660 w +10 /LucidaSansUnicode00 f +(is) 1215 3660 w +(performed,) 1343 3660 w +(discarding) 1934 3660 w +(fragments) 2488 3660 w +(that) 3030 3660 w +(are) 3269 3660 w +(further) 3469 3660 w +(away.) 3853 3660 w +(Then) 4172 3660 w +(a) 4463 3660 w +10 /LucidaSans-Demi f +(fragment) 4566 3660 w +(shader) 970 3780 w +10 /LucidaSansUnicode00 f +(is applied and the result written to the framebuffer after blending.) 1354 3780 w +2070 4806 2106 4806 Dl +2142 4806 2178 4806 Dl +2214 4806 2250 4806 Dl +2286 4806 2322 4806 Dl +2358 4806 2394 4806 Dl +2430 4806 2466 4806 Dl +2502 4806 2538 4806 Dl +2574 4806 2610 4806 Dl +2646 4806 2682 4806 Dl +2718 4806 2754 4806 Dl +2790 4806 2826 4806 Dl +2862 4806 2898 4806 Dl +2934 4806 2970 4806 Dl +2970 4806 2970 4770 Dl +2970 4752 2970 4716 Dl +2970 4698 2970 4662 Dl +2970 4662 2934 4662 Dl +2898 4662 2862 4662 Dl +2826 4662 2790 4662 Dl +2754 4662 2718 4662 Dl +2682 4662 2646 4662 Dl +2610 4662 2574 4662 Dl +2538 4662 2502 4662 Dl +2466 4662 2430 4662 Dl +2394 4662 2358 4662 Dl +2322 4662 2286 4662 Dl +2250 4662 2214 4662 Dl +2178 4662 2142 4662 Dl +2106 4662 2070 4662 Dl +2070 4662 2070 4698 Dl +2070 4716 2070 4752 Dl +2070 4770 2070 4806 Dl 7 /LucidaSansUnicode00 f -(1) 2498 4076 w -2070 4278 2106 4278 Dl -2142 4278 2178 4278 Dl -2214 4278 2250 4278 Dl -2286 4278 2322 4278 Dl -2358 4278 2394 4278 Dl -2430 4278 2466 4278 Dl -2502 4278 2538 4278 Dl -2574 4278 2610 4278 Dl -2646 4278 2682 4278 Dl -2718 4278 2754 4278 Dl -2790 4278 2826 4278 Dl -2862 4278 2898 4278 Dl -2934 4278 2970 4278 Dl -2970 4278 2970 4242 Dl -2970 4224 2970 4188 Dl -2970 4170 2970 4134 Dl -2970 4134 2934 4134 Dl -2898 4134 2862 4134 Dl -2826 4134 2790 4134 Dl -2754 4134 2718 4134 Dl -2682 4134 2646 4134 Dl -2610 4134 2574 4134 Dl -2538 4134 2502 4134 Dl -2466 4134 2430 4134 Dl -2394 4134 2358 4134 Dl -2322 4134 2286 4134 Dl -2250 4134 2214 4134 Dl -2178 4134 2142 4134 Dl -2106 4134 2070 4134 Dl -2070 4134 2070 4170 Dl -2070 4188 2070 4224 Dl -2070 4242 2070 4278 Dl -(2) 2498 4220 w -2070 4422 2106 4422 Dl -2142 4422 2178 4422 Dl -2214 4422 2250 4422 Dl -2286 4422 2322 4422 Dl -2358 4422 2394 4422 Dl -2430 4422 2466 4422 Dl -2502 4422 2538 4422 Dl -2574 4422 2610 4422 Dl -2646 4422 2682 4422 Dl -2718 4422 2754 4422 Dl -2790 4422 2826 4422 Dl -2862 4422 2898 4422 Dl -2934 4422 2970 4422 Dl -2970 4422 2970 4386 Dl -2970 4368 2970 4332 Dl -2970 4314 2970 4278 Dl -2970 4278 2934 4278 Dl -2898 4278 2862 4278 Dl -2826 4278 2790 4278 Dl -2754 4278 2718 4278 Dl -2682 4278 2646 4278 Dl -2610 4278 2574 4278 Dl -2538 4278 2502 4278 Dl -2466 4278 2430 4278 Dl -2394 4278 2358 4278 Dl -2322 4278 2286 4278 Dl -2250 4278 2214 4278 Dl -2178 4278 2142 4278 Dl -2106 4278 2070 4278 Dl -2070 4278 2070 4314 Dl -2070 4332 2070 4368 Dl -2070 4386 2070 4422 Dl +(1) 2498 4748 w +2070 4950 2106 4950 Dl +2142 4950 2178 4950 Dl +2214 4950 2250 4950 Dl +2286 4950 2322 4950 Dl +2358 4950 2394 4950 Dl +2430 4950 2466 4950 Dl +2502 4950 2538 4950 Dl +2574 4950 2610 4950 Dl +2646 4950 2682 4950 Dl +2718 4950 2754 4950 Dl +2790 4950 2826 4950 Dl +2862 4950 2898 4950 Dl +2934 4950 2970 4950 Dl +2970 4950 2970 4914 Dl +2970 4896 2970 4860 Dl +2970 4842 2970 4806 Dl +2970 4806 2934 4806 Dl +2898 4806 2862 4806 Dl +2826 4806 2790 4806 Dl +2754 4806 2718 4806 Dl +2682 4806 2646 4806 Dl +2610 4806 2574 4806 Dl +2538 4806 2502 4806 Dl +2466 4806 2430 4806 Dl +2394 4806 2358 4806 Dl +2322 4806 2286 4806 Dl +2250 4806 2214 4806 Dl +2178 4806 2142 4806 Dl +2106 4806 2070 4806 Dl +2070 4806 2070 4842 Dl +2070 4860 2070 4896 Dl +2070 4914 2070 4950 Dl +(2) 2498 4892 w +2070 5094 2106 5094 Dl +2142 5094 2178 5094 Dl +2214 5094 2250 5094 Dl +2286 5094 2322 5094 Dl +2358 5094 2394 5094 Dl +2430 5094 2466 5094 Dl +2502 5094 2538 5094 Dl +2574 5094 2610 5094 Dl +2646 5094 2682 5094 Dl +2718 5094 2754 5094 Dl +2790 5094 2826 5094 Dl +2862 5094 2898 5094 Dl +2934 5094 2970 5094 Dl +2970 5094 2970 5058 Dl +2970 5040 2970 5004 Dl +2970 4986 2970 4950 Dl +2970 4950 2934 4950 Dl +2898 4950 2862 4950 Dl +2826 4950 2790 4950 Dl +2754 4950 2718 4950 Dl +2682 4950 2646 4950 Dl +2610 4950 2574 4950 Dl +2538 4950 2502 4950 Dl +2466 4950 2430 4950 Dl +2394 4950 2358 4950 Dl +2322 4950 2286 4950 Dl +2250 4950 2214 4950 Dl +2178 4950 2142 4950 Dl +2106 4950 2070 4950 Dl +2070 4950 2070 4986 Dl +2070 5004 2070 5040 Dl +2070 5058 2070 5094 Dl 7 /LucidaSansUnicode20 f -(&) 2485 4364 w -2070 4566 2106 4566 Dl -2142 4566 2178 4566 Dl -2214 4566 2250 4566 Dl -2286 4566 2322 4566 Dl -2358 4566 2394 4566 Dl -2430 4566 2466 4566 Dl -2502 4566 2538 4566 Dl -2574 4566 2610 4566 Dl -2646 4566 2682 4566 Dl -2718 4566 2754 4566 Dl -2790 4566 2826 4566 Dl -2862 4566 2898 4566 Dl -2934 4566 2970 4566 Dl -2970 4566 2970 4530 Dl -2970 4512 2970 4476 Dl -2970 4458 2970 4422 Dl -2970 4422 2934 4422 Dl -2898 4422 2862 4422 Dl -2826 4422 2790 4422 Dl -2754 4422 2718 4422 Dl -2682 4422 2646 4422 Dl -2610 4422 2574 4422 Dl -2538 4422 2502 4422 Dl -2466 4422 2430 4422 Dl -2394 4422 2358 4422 Dl -2322 4422 2286 4422 Dl -2250 4422 2214 4422 Dl -2178 4422 2142 4422 Dl -2106 4422 2070 4422 Dl -2070 4422 2070 4458 Dl -2070 4476 2070 4512 Dl -2070 4530 2070 4566 Dl +(&) 2485 5036 w +2070 5238 2106 5238 Dl +2142 5238 2178 5238 Dl +2214 5238 2250 5238 Dl +2286 5238 2322 5238 Dl +2358 5238 2394 5238 Dl +2430 5238 2466 5238 Dl +2502 5238 2538 5238 Dl +2574 5238 2610 5238 Dl +2646 5238 2682 5238 Dl +2718 5238 2754 5238 Dl +2790 5238 2826 5238 Dl +2862 5238 2898 5238 Dl +2934 5238 2970 5238 Dl +2970 5238 2970 5202 Dl +2970 5184 2970 5148 Dl +2970 5130 2970 5094 Dl +2970 5094 2934 5094 Dl +2898 5094 2862 5094 Dl +2826 5094 2790 5094 Dl +2754 5094 2718 5094 Dl +2682 5094 2646 5094 Dl +2610 5094 2574 5094 Dl +2538 5094 2502 5094 Dl +2466 5094 2430 5094 Dl +2394 5094 2358 5094 Dl +2322 5094 2286 5094 Dl +2250 5094 2214 5094 Dl +2178 5094 2142 5094 Dl +2106 5094 2070 5094 Dl +2070 5094 2070 5130 Dl +2070 5148 2070 5184 Dl +2070 5202 2070 5238 Dl 7 /LucidaSansUnicode00 f -(n) 2499 4508 w -2142 4314 2592 4170 Dl -2592 4170 2754 4494 Dl -2754 4494 2142 4314 Dl -2034 4602 2034 3954 Dl -2034 3954 3006 3954 Dl -3006 3954 3006 4602 Dl -3006 4602 2034 4602 Dl -(Framebuf) 1675 4004 w -3330 3522 432 432 De -(rasterizer) 3350 3536 w -(1) 3698 3536 w -3330 4026 432 432 De -(rasterizer) 3350 4040 w -(2) 3698 4040 w -3330 4530 432 432 De +(n) 2499 5180 w +2142 4986 2592 4842 Dl +2592 4842 2754 5166 Dl +2754 5166 2142 4986 Dl +2034 5274 2034 4626 Dl +2034 4626 3006 4626 Dl +3006 4626 3006 5274 Dl +3006 5274 2034 5274 Dl +(Framebuf) 1675 4676 w +3330 4194 432 432 De +(rasterizer) 3350 4208 w +(1) 3698 4208 w +3330 4698 432 432 De +(rasterizer) 3350 4712 w +(2) 3698 4712 w +3330 5202 432 432 De 7 /LucidaSansUnicode20 f -(&) 3511 4544 w -3330 5034 432 432 De +(&) 3511 5216 w +3330 5706 432 432 De 7 /LucidaSansUnicode00 f -(rasterizer) 3351 5048 w -(n) 3699 5048 w -2970 4206 3330 4026 Dl -3273 4074 3329 4026 Dl -3270 4070 3329 4026 Dl -3268 4067 3329 4026 Dl -3265 4063 3329 4026 Dl -3263 4059 3329 4026 Dl -3261 4054 3329 4026 Dl -3260 4050 3329 4026 Dl -3258 4046 3329 4026 Dl -3257 4041 3329 4026 Dl -2970 4350 3330 4530 Dl -3257 4514 3329 4529 Dl -3258 4509 3329 4529 Dl -3260 4505 3329 4529 Dl -3261 4501 3329 4529 Dl -3263 4496 3329 4529 Dl -3265 4492 3329 4529 Dl -3268 4488 3329 4529 Dl -3270 4485 3329 4529 Dl -3273 4481 3329 4529 Dl -2970 4494 3330 5034 Dl -3275 4984 3329 5033 Dl -3278 4980 3329 5033 Dl -3281 4977 3329 5033 Dl -3285 4974 3329 5033 Dl -3288 4972 3329 5033 Dl -3292 4969 3329 5033 Dl -3296 4967 3329 5033 Dl -3300 4965 3329 5033 Dl -3304 4964 3329 5033 Dl +(rasterizer) 3351 5720 w +(n) 3699 5720 w +2970 4878 3330 4698 Dl +3273 4746 3329 4698 Dl +3270 4742 3329 4698 Dl +3268 4739 3329 4698 Dl +3265 4735 3329 4698 Dl +3263 4731 3329 4698 Dl +3261 4726 3329 4698 Dl +3260 4722 3329 4698 Dl +3258 4718 3329 4698 Dl +3257 4713 3329 4698 Dl +2970 5022 3330 5202 Dl +3257 5186 3329 5201 Dl +3258 5181 3329 5201 Dl +3260 5177 3329 5201 Dl +3261 5173 3329 5201 Dl +3263 5168 3329 5201 Dl +3265 5164 3329 5201 Dl +3268 5160 3329 5201 Dl +3270 5157 3329 5201 Dl +3273 5153 3329 5201 Dl +2970 5166 3330 5706 Dl +3275 5656 3329 5705 Dl +3278 5652 3329 5705 Dl +3281 5649 3329 5705 Dl +3285 5646 3329 5705 Dl +3288 5644 3329 5705 Dl +3292 5641 3329 5705 Dl +3296 5639 3329 5705 Dl +3300 5637 3329 5705 Dl +3304 5636 3329 5705 Dl 10 /LucidaSans-Demi f -(Figure 4) 2073 5448 w +(Figure 4) 2073 6120 w 10 /LucidaSansUnicode00 f -(: Raster task scheduling.) 2495 5448 w +(: Raster task scheduling.) 2495 6120 w 10 /LucidaSans-Demi f -(4.) 720 5688 w -(Frames of reference) 873 5688 w +(4.) 720 6360 w +(Frames of reference) 873 6360 w +10 /LucidaSansUnicode00 f +(Frames are right-handed throughout every stage.) 970 6516 w +(August 3, 2024) 2503 7680 w +cleartomark +showpage +saveobj restore +%%EndPage: 4 4 +%%Page: 5 5 +/saveobj save def +mark +5 pagesetup 10 /LucidaSansUnicode00 f -(Frames are right-handed throughout every stage.) 970 5844 w +(\255 5 \255) 2783 480 w gsave newpath -3586 6510 m +3586 1386 m /inpath true def 0.7 setgray -2790 6726 14 14 De +2790 1602 14 14 De gsave eofill grestore 0 setgray stroke grestore /inpath false def 7 /LucidaSansUnicode00 f -(p) 2703 6740 w -2797 6726 3514 6788 Dl -3441 6800 3514 6789 Dl -3441 6795 3515 6788 Dl -3440 6791 3514 6789 Dl -3440 6786 3514 6788 Dl -3441 6782 3515 6788 Dl -3441 6777 3514 6787 Dl -3441 6773 3513 6788 Dl -3443 6769 3514 6789 Dl -3444 6764 3513 6788 Dl -(bx) 3543 6802 w -2797 6726 2797 6006 Dl -2815 6078 2797 6006 Dl -2811 6078 2798 6006 Dl -2806 6079 2797 6006 Dl -2801 6080 2797 6006 Dl -2797 6080 2797 6006 Dl -2793 6080 2797 6006 Dl -2788 6079 2797 6006 Dl -2783 6078 2796 6006 Dl -2779 6078 2797 6006 Dl -(by) 2685 6020 w -2797 6726 2246 7014 Dl -2301 6965 2246 7013 Dl -2304 6967 2246 7013 Dl -2307 6971 2246 7013 Dl -2309 6975 2246 7013 Dl -2311 6979 2246 7013 Dl -2313 6983 2246 7013 Dl -2315 6988 2246 7013 Dl -2317 6992 2246 7013 Dl -2318 6996 2246 7013 Dl -(bz) 2132 7028 w +(p) 2703 1616 w +2797 1602 3514 1664 Dl +3441 1676 3514 1665 Dl +3441 1671 3515 1664 Dl +3440 1667 3514 1665 Dl +3440 1662 3514 1664 Dl +3441 1658 3515 1664 Dl +3441 1653 3514 1663 Dl +3441 1649 3513 1664 Dl +3443 1645 3514 1665 Dl +3444 1640 3513 1664 Dl +(bx) 3543 1678 w +2797 1602 2797 882 Dl +2815 954 2797 882 Dl +2811 954 2798 882 Dl +2806 955 2797 882 Dl +2801 956 2797 882 Dl +2797 956 2797 882 Dl +2793 956 2797 882 Dl +2788 955 2797 882 Dl +2783 954 2796 882 Dl +2779 954 2797 882 Dl +(by) 2685 896 w +2797 1602 2246 1890 Dl +2301 1841 2246 1889 Dl +2304 1843 2246 1889 Dl +2307 1847 2246 1889 Dl +2309 1851 2246 1889 Dl +2311 1855 2246 1889 Dl +2313 1859 2246 1889 Dl +2315 1864 2246 1889 Dl +2317 1868 2246 1889 Dl +2318 1872 2246 1889 Dl +(bz) 2132 1904 w 10 /LucidaSans-Demi f -(Figure 5) 1897 7212 w -10 /LucidaSansUnicode00 f -(: Example right-handed rframe.) 2319 7212 w -(July 23, 2024) 2556 7680 w -cleartomark -showpage -saveobj restore -%%EndPage: 3 3 -%%Page: 4 4 -/saveobj save def -mark -4 pagesetup +(Figure 5) 1897 2088 w 10 /LucidaSansUnicode00 f -(\255 4 \255) 2783 480 w +(: Example right-handed rframe.) 2319 2088 w 10 /LucidaSans-Demi f -(5.) 720 840 w -(Viewports) 873 840 w +(5.) 720 2328 w +(Viewports) 873 2328 w 10 /LucidaSansUnicode00 f -(A) 970 996 w +(A) 970 2484 w 10 /LucidaSans-Italic f -(viewport) 1084 996 w +(viewport) 1084 2484 w 10 /LucidaSansUnicode00 f -(is) 1547 996 w -(a) 1673 996 w -(sort) 1774 996 w -(of) 2010 996 w -(virtual) 2154 996 w -(framebuffer,) 2505 996 w -(a) 3161 996 w -(device) 3262 996 w -(that) 3615 996 w -(lets) 3852 996 w -(users) 4071 996 w -(configure) 4378 996 w -(the) 4885 996 w -(way) 720 1116 w -(they) 940 1116 w -(visualize) 1183 1116 w -(a) 1639 1116 w -(framebuffer,) 1730 1116 w -(which) 2375 1116 w -(changes) 2691 1116 w -(the) 3125 1116 w -(resulting) 3315 1116 w +(is) 1547 2484 w +(a) 1673 2484 w +(sort) 1774 2484 w +(of) 2010 2484 w +(virtual) 2154 2484 w +(framebuffer,) 2505 2484 w +(a) 3161 2484 w +(device) 3262 2484 w +(that) 3615 2484 w +(lets) 3852 2484 w +(users) 4071 2484 w +(configure) 4378 2484 w +(the) 4885 2484 w +(way) 720 2604 w +(they) 940 2604 w +(visualize) 1183 2604 w +(a) 1639 2604 w +(framebuffer,) 1730 2604 w +(which) 2375 2604 w +(changes) 2691 2604 w +(the) 3125 2604 w +(resulting) 3315 2604 w 10 /LucidaSans-Italic f -(image) 3779 1116 w +(image) 3779 2604 w 10 /LucidaSansUnicode00 f -(\(6\)) 4076 1116 w -(after) 4240 1116 w -(a) 4501 1116 w -(call) 4591 1116 w -(to) 4790 1116 w -(its) 4923 1116 w +(\(6\)) 4076 2604 w +(after) 4240 2604 w +(a) 4501 2604 w +(call) 4591 2604 w +(to) 4790 2604 w +(its) 4923 2604 w 10 /LucidaTypewriter f -(draw) 720 1236 w +(draw) 720 2724 w 10 /LucidaSansUnicode00 f -(or) 1046 1236 w +(or) 1067 2724 w 10 /LucidaTypewriter f -(memdraw) 1187 1236 w +(memdraw) 1228 2724 w 10 /LucidaSansUnicode00 f -(methods.) 1730 1236 w -(As) 2256 1236 w -(of) 2415 1236 w -(now,) 2552 1236 w -(the) 2823 1236 w -(only) 3017 1236 w -(feature) 3260 1236 w -(available) 3643 1236 w -(is) 4105 1236 w -(upscaling,) 4224 1236 w -(which) 4759 1236 w -(includes) 720 1356 w -(user-defined) 1174 1356 w -(filters) 1859 1356 w -(for) 2190 1356 w -(specific) 2380 1356 w -(ratios,) 2798 1356 w -(such) 3155 1356 w -(as) 3432 1356 w -(the) 3589 1356 w -(family) 3795 1356 w -(of) 4141 1356 w -(pixel) 4289 1356 w -(art) 4577 1356 w -(filters) 4760 1356 w +(methods.) 1791 2724 w +(So) 2337 2724 w +(far) 2511 2724 w +(the) 2703 2724 w +(only) 2917 2724 w +(feature) 3180 2724 w +(available) 3583 2724 w +(is) 4065 2724 w +(upscaling,) 4204 2724 w +(which) 4759 2724 w +(includes) 720 2844 w +(user-defined) 1174 2844 w +(filters) 1859 2844 w +(for) 2190 2844 w +(specific) 2380 2844 w +(ratios,) 2798 2844 w +(such) 3155 2844 w +(as) 3432 2844 w +(the) 3589 2844 w +(family) 3795 2844 w +(of) 4141 2844 w +(pixel) 4289 2844 w +(art) 4577 2844 w +(filters) 4760 2844 w 10 /LucidaSans-Italic f -(Scale[234]x) 720 1476 w +(Scale[234]x) 720 2964 w 10 /LucidaSansUnicode00 f -(, used for 2x2, 3x3 and 4x4 scaling respectively) 1277 1476 w +(,) 1277 2964 w +(used) 1360 2964 w +(for) 1644 2964 w +(2x2,) 1835 2964 w +(3x3) 2106 2964 w +(and) 2345 2964 w +(4x4) 2577 2964 w +(scaling) 2816 2964 w +(respectively) 3207 2964 w 10 /LucidaSans-Italic f -([?]) 3621 1476 w +([REF01]) 3780 2964 w +10 /LucidaSansUnicode00 f +(.) 4144 2964 w +(Users) 4260 2964 w +(control) 4580 2964 w +(it) 4974 2964 w +(with calls to the viewport) 720 3084 w +10 /LucidaSansUnicode20 f +(\031) 1937 3084 w 10 /LucidaSansUnicode00 f -(.) 3733 1476 w -1836 3150 1836 1710 Dl -1836 1710 3996 1710 Dl -3996 1710 3996 3150 Dl -3996 3150 1836 3150 Dl +(s) 1969 3084 w +10 /LucidaTypewriter f +(setscale) 2052 3084 w +10 /LucidaSansUnicode00 f +(and) 2660 3084 w +10 /LucidaTypewriter f +(setscalefilter) 2872 3084 w +10 /LucidaSansUnicode00 f +(methods.) 3912 3084 w +1836 4758 1836 3318 Dl +1836 3318 3996 3318 Dl +3996 3318 3996 4758 Dl +3996 4758 1836 4758 Dl 7 /LucidaSansUnicode00 f -(Framebuf) 2755 3020 w +(Framebuf) 2755 4628 w gsave newpath -2916 3006 m +2916 4614 m /inpath true def 0.7 setgray -1828 1710 14 14 De +1828 3318 14 14 De gsave eofill grestore 0 setgray stroke grestore /inpath false def -(p) 1742 1724 w -1836 1710 2556 1710 Dl -2484 1728 2556 1710 Dl -2483 1723 2555 1710 Dl -2482 1719 2555 1710 Dl -2481 1714 2555 1710 Dl -2481 1710 2555 1710 Dl -2481 1705 2555 1709 Dl -2482 1700 2555 1709 Dl -2483 1696 2555 1709 Dl -2484 1692 2556 1710 Dl -(bx) 2513 1652 w -1836 1710 1836 2430 Dl -1818 2358 1836 2430 Dl -1822 2357 1835 2429 Dl -1826 2356 1835 2429 Dl -1831 2355 1835 2429 Dl -1836 2355 1836 2429 Dl -1840 2355 1836 2429 Dl -1845 2356 1836 2429 Dl -1849 2357 1836 2429 Dl -1854 2358 1836 2430 Dl -(by) 1724 2444 w +(p) 1742 3332 w +1836 3318 2556 3318 Dl +2484 3336 2556 3318 Dl +2483 3331 2555 3318 Dl +2482 3327 2555 3318 Dl +2481 3322 2555 3318 Dl +2481 3318 2555 3318 Dl +2481 3313 2555 3317 Dl +2482 3308 2555 3317 Dl +2483 3304 2555 3317 Dl +2484 3300 2556 3318 Dl +(bx) 2513 3260 w +1836 3318 1836 4038 Dl +1818 3966 1836 4038 Dl +1822 3965 1835 4037 Dl +1826 3964 1835 4037 Dl +1831 3963 1835 4037 Dl +1836 3963 1836 4037 Dl +1840 3963 1836 4037 Dl +1845 3964 1836 4037 Dl +1849 3965 1836 4037 Dl +1854 3966 1836 4038 Dl +(by) 1724 4052 w 10 /LucidaSans-Demi f -(Figure 6) 1932 3348 w +(Figure 6) 1932 4956 w 10 /LucidaSansUnicode00 f -(: Illustration of a 3:2 viewport.) 2354 3348 w +(: Illustration of a 3:2 viewport.) 2354 4956 w 10 /LucidaSans-Demi f -(References) 720 3588 w +(References) 720 5196 w 10 /LucidaSansUnicode00 f -([?]) 720 3780 w -(https://www.scale2x.it/) 970 3780 w -(July 23, 2024) 2556 7680 w +([REF01]https://www.scale2x.it/) 720 5388 w +(August 3, 2024) 2503 7680 w cleartomark showpage saveobj restore -%%EndPage: 4 4 +%%EndPage: 5 5 %%Trailer done %%DocumentFonts: LucidaSansUnicode20 LucidaSansUnicode00 LucidaSans-Demi LucidaSans-Italic LucidaTypewriter -%%Pages: 4 +%%Pages: 5 |