From 7d79c607fbc8f402b26a0032c9e29b393af801e7 Mon Sep 17 00:00:00 2001 From: rodri Date: Mon, 22 Jul 2024 18:42:04 +0000 Subject: doc: write about the renderer, with a little introduction. --- doc/libgraphics.ms | 174 +++++- doc/libgraphics.pdf | Bin 19318 -> 30115 bytes doc/libgraphics.ps | 1667 +++++++++++++++++++++++++++++++++------------------ 3 files changed, 1229 insertions(+), 612 deletions(-) diff --git a/doc/libgraphics.ms b/doc/libgraphics.ms index 209094d..2fada71 100644 --- a/doc/libgraphics.ms +++ b/doc/libgraphics.ms @@ -1,14 +1,90 @@ .TL -libgraphics +libgraphics: Design and Implementation +.DA .AU Rodrigo G. López rgl@antares-labs.eu -.AB -To be determined. -.AE .SH -Rendering graph -.PP +Introduction +.LP +.I Libgraphics +is a 3D computer graphics library that provides a way to set up a +scene, fill it up with a bunch of models (with their own meshes and +materials), lights and cameras, and start taking pictures at the user +request. It implements a fully concurrent retained mode software +renderer, with support for vertex and fragment/pixel shaders written +in C (not GPU ones, at least for now), a z-buffer, front- and +back-face culling, textures and skyboxes, directional and punctual +lights, tangent-space normal mapping, ??? +.SH +The renderer +.LP +The +.I renderer +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. +.LP +It's implemented as a tree of concurrent processes connected by +.CW Channel s—as +seen in +.B "Figure 1" —, +spawned with a call to +.CW initgraphics , +each representing a stage of the pipeline: +.IP +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 scene, a 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 2" . +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; this is illustrated in +.B "Figure 3" . +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 (only +.I points , +.I lines +and +.I triangles +are supported). 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. .PS .ps 7 circlerad = 0.3 @@ -56,33 +132,10 @@ arrow from Tiler.T1 to Raster.Rn chop .ps 10 .PE .B "Figure 1" : -For a +The rendering graph for a .B 2n processor machine. .SH -The scene -.PP -.PS -.ps 7 -boxwid = 0.5 -boxht = 0.2 -linewid = 0.1 -lineht = 0.2 -box "Scene" -down; line from last box.s; right; line -box "Entity" -down; line from last box.s; right; line -box "Model" -down; line from last box.s; right; line -box "Mesh" -down; line from last box.s; right; line -box "Primitive" -down -line from 2nd last line.s; line; right; line -box "Material" -.ps 10 -.PE -.SH Tile-based rendering .PP .PS @@ -144,7 +197,6 @@ Raster: [ move Rn: circle "rasterizer n" ] with .w at Tiles.e + (0.5,0) -arrow dashed from Tiles.T0.e to Raster.R0.w arrow from Tiles.T1.e to Raster.R1.w arrow from Tiles.Td.e to Raster.Rd.w arrow from Tiles.Tn.e to Raster.Rn.w @@ -153,11 +205,69 @@ arrow from Tiles.Tn.e to Raster.Rn.w .B "Figure 3" : Raster task scheduling. .SH +The scene +.PP +.PS +.ps 7 +boxwid = 0.5 +boxht = 0.2 +linewid = 0.1 +lineht = 0.2 +box "Scene" +down; line from last box.s; right; line +box "Entity" +down; line from last box.s; right; line +box "Model" +down; line from last box.s; right; line +box "Mesh" +down; line from last box.s; right; line +box "Primitive" +down +line from 2nd last line.s; line; right; line +box "Material" +.ps 10 +.PE +.SH Frames of reference .PP Frames are right-handed throughout every stage. .PS .ps 7 - +RFrame: [ + pi = 3.1415926535 + circle fill rad 0.01 at (0,0) + "p" at last circle.c - (0.1,0) + xa = -5*pi/180 + arrow from (0,0) to (cos(xa),sin(xa)) + "bx" at last arrow.end + (0.1,0) + arrow from (0,0) to (0,1) + "by" at last arrow.end - (0.1,0) + za = -150*pi/180 + arrow from (0,0) to (cos(za)+0.1,sin(za)+0.1) + "bz" at last arrow.end - (0.1,0) +] +.ps 10 +.PE +.B "Figure 4" : +Example right-handed rframe. +.SH +Viewports +.PP +.PS +.ps 7 +View: [ + boxwid = 3 + boxht = 2 + box with .nw at (-1,1) + "framebuffer" at last box.s + (0,0.2) + circle fill rad 0.01 at (-1,1) + "p" at last circle.c - (0.1,0) + arrow from (-1,1) to (-1,1) + (1,0) + "bx" at last arrow.end + (0,0.1) + arrow from (-1,1) to (-1,1) - (0,1) + "by" at last arrow.end - (0.1,0) +] .ps 10 .PE +.B "Figure 5" : +Illustration of a 3:2 viewport. diff --git a/doc/libgraphics.pdf b/doc/libgraphics.pdf index cc5fcce..8bbe1aa 100644 Binary files a/doc/libgraphics.pdf and b/doc/libgraphics.pdf differ diff --git a/doc/libgraphics.ps b/doc/libgraphics.ps index f59bb9b..3bce2d2 100644 --- a/doc/libgraphics.ps +++ b/doc/libgraphics.ps @@ -619,630 +619,1137 @@ setup mark 1 pagesetup 12 /LucidaSans-Demi f -(libgraphics) 2533 1230 w +(libgraphics: Design and Implementation) 1642 1220 w 10 /LucidaSans-Italic f -(Rodrigo G. L\363pez) 2469 1470 w -(rgl@antares-labs.eu) 2377 1590 w -(ABSTRACT) 2626 2030 w +(Rodrigo G. L\363pez) 2469 1480 w +(rgl@antares-labs.eu) 2377 1620 w +10 /LucidaSans-Demi f +(Introduction) 720 2280 w +10 /LucidaSans-Italic f +(Libgraphics) 720 2436 w +10 /LucidaSansUnicode00 f +(is) 1323 2436 w +(a) 1440 2436 w +(3D) 1532 2436 w +(computer) 1707 2436 w +(graphics) 2208 2436 w +(library) 2659 2436 w +(that) 3006 2436 w +(provides) 3234 2436 w +(a) 3687 2436 w +(way) 3779 2436 w +(to) 4000 2436 w +(set) 4135 2436 w +(up) 4316 2436 w +(a) 4478 2436 w +(scene,) 4570 2436 w +(fill) 4916 2436 w +(it) 720 2556 w +(up) 821 2556 w +(with) 980 2556 w +(a) 1219 2556 w +(bunch) 1308 2556 w +(of) 1642 2556 w +(models) 1774 2556 w +(\(with) 2161 2556 w +(their) 2433 2556 w +(own) 2692 2556 w +(meshes) 2926 2556 w +(and) 3329 2556 w +(materials\),) 3543 2556 w +(lights) 4088 2556 w +(and) 4392 2556 w +(cameras,) 4606 2556 w +(and) 720 2676 w +(start) 939 2676 w +(taking) 1199 2676 w +(pictures) 1541 2676 w +(at) 1971 2676 w +(the) 2103 2676 w +(user) 2298 2676 w +(request.) 2548 2676 w +(It) 3018 2676 w +(implements) 3124 2676 w +(a) 3733 2676 w +(fully) 3828 2676 w +(concurrent) 4077 2676 w +(retained) 4641 2676 w +(mode) 720 2796 w +(software) 1033 2796 w +(renderer,) 1488 2796 w +(with) 1976 2796 w +(support) 2221 2796 w +(for) 2639 2796 w +(vertex) 2818 2796 w +(and) 3161 2796 w +(fragment/pixel) 3380 2796 w +(shaders) 4153 2796 w +(written) 4571 2796 w +(in) 4949 2796 w +(C \(not GPU ones, at least for now\), a z-buffer, front- and back-face culling, textures) 720 2916 w +(and) 4860 2916 w +(skyboxes, directional and punctual lights, tangent-space normal mapping, ???) 720 3036 w +10 /LucidaSans-Demi f +(The renderer) 720 3276 w +10 /LucidaSansUnicode00 f +(The) 720 3432 w +10 /LucidaSans-Italic f +(renderer) 938 3432 w +10 /LucidaSansUnicode00 f +(is) 1401 3432 w +(the) 1518 3432 w +(core) 1710 3432 w +(of) 1956 3432 w +(the) 2091 3432 w +(library.) 2283 3432 w +(It) 2662 3432 w +(follows) 2766 3432 w +(a) 3149 3432 w +10 /LucidaSans-Demi f +(retained) 3242 3432 w +(mode) 3708 3432 w +10 /LucidaSansUnicode00 f +(model,) 4032 3432 w +(which) 4404 3432 w +(means) 4723 3432 w +(that) 720 3552 w +(the) 955 3552 w +(user) 1154 3552 w +(won) 1408 3552 w +10 /LucidaSansUnicode20 f +(\031) 1608 3552 w +10 /LucidaSansUnicode00 f +(t) 1640 3552 w +(get) 1721 3552 w +(a) 1920 3552 w +(picture) 2019 3552 w +(until) 2402 3552 w +(the) 2665 3552 w +(entire) 2864 3552 w +(scene) 3189 3552 w +(has) 3509 3552 w +(been) 3721 3552 w +(rendered.) 4002 3552 w +(Thanks) 4548 3552 w +(to) 4942 3552 w +(this) 720 3672 w +(we) 944 3672 w +(can) 1122 3672 w +(also) 1335 3672 w +(clear) 1576 3672 w +(and) 1853 3672 w +(swap) 2078 3672 w +(the) 2369 3672 w +(framebuffers) 2569 3672 w +(without) 3243 3672 w +(their) 3653 3672 w +(intervention,) 3923 3672 w +(they) 4584 3672 w +(only) 4836 3672 w +(need to concern themselves with shooting and ) 720 3792 w +10 /LucidaSansUnicode20 f +(\034) 3016 3792 w +10 /LucidaSansUnicode00 f +(developing) 3053 3792 w +10 /LucidaSansUnicode20 f +(\035) 3586 3792 w +10 /LucidaSansUnicode00 f +(a camera.) 3655 3792 w +(It) 720 3948 w +10 /LucidaSansUnicode20 f +(\031) 786 3948 w +10 /LucidaSansUnicode00 f +(s implemented as a tree of concurrent processes) 818 3948 w +(connected) 3217 3948 w +(by) 3749 3948 w +10 /LucidaTypewriter f +(Channel) 3897 3948 w +10 /LucidaSansUnicode00 f +(s) 4401 3948 w +10 /LucidaSansUnicode20 f +(\024) 4452 3948 w +10 /LucidaSansUnicode00 f +(as) 4552 3948 w +(seen) 4691 3948 w +(in) 4949 3948 w +10 /LucidaSans-Demi f +(Figure) 720 4068 w +(1) 1088 4068 w +10 /LucidaSansUnicode20 f +(\024) 1152 4068 w +10 /LucidaSansUnicode00 f +(,) 1252 4068 w +(spawned) 1326 4068 w +(with) 1795 4068 w +(a) 2042 4068 w +(call) 2139 4068 w +(to) 2345 4068 w +10 /LucidaTypewriter f +(initgraphics) 2485 4068 w +10 /LucidaSansUnicode00 f +(,) 3349 4068 w +(each) 3423 4068 w +(representing) 3689 4068 w +(a) 4347 4068 w +(stage) 4444 4068 w +(of) 4746 4068 w +(the) 4885 4068 w +(pipeline:) 720 4188 w +(The) 970 4344 w +10 /LucidaSans-Demi f +(renderer) 1234 4344 w +10 /LucidaSansUnicode00 f +(process,) 1761 4344 w +(the) 2250 4344 w +(root) 2488 4344 w +(of) 2771 4344 w +(the) 2952 4344 w +(tree,) 3190 4344 w +(waits) 3495 4344 w +(on) 3828 4344 w +(a) 4035 4344 w +10 /LucidaTypewriter f +(channel) 4174 4344 w +10 /LucidaSansUnicode00 f +(for) 4762 4344 w +(a) 4985 4344 w +10 /LucidaTypewriter f +(Renderjob) 970 4464 w +10 /LucidaSansUnicode00 f +(sent) 1670 4464 w +(by) 1928 4464 w +(another) 2095 4464 w +(user) 2520 4464 w +(process,) 2781 4464 w +(specifying) 3238 4464 w +(a) 3781 4464 w +(scene,) 3887 4464 w +(a) 4246 4464 w +(camera) 4352 4464 w +(and) 4754 4464 w +(a) 4985 4464 w +(shader) 970 4584 w +(table.) 1338 4584 w +(It) 1682 4584 w +(walks) 1788 4584 w +(the) 2098 4584 w +(scene) 2293 4584 w +(and) 2610 4584 w +(sends) 2831 4584 w +(each) 3155 4584 w +10 /LucidaTypewriter f +(Entity) 3420 4584 w +10 /LucidaSansUnicode00 f +(individually) 3893 4584 w +(to) 4488 4584 w +(the) 4627 4584 w +(enti\255) 4823 4584 w +(typroc.) 970 4704 w +(The) 970 4860 w +10 /LucidaSans-Demi f +(entityproc) 1198 4860 w +10 /LucidaSansUnicode00 f +(receives) 1771 4860 w +(an) 2210 4860 w +(entity) 2374 4860 w +(and) 2694 4860 w +(splits) 2921 4860 w +(its) 3228 4860 w +(geometry) 3393 4860 w +(equitatively) 3899 4860 w +(among) 4504 4860 w +(the) 4885 4860 w +(tilers, sending a batch for each of them to process.) 970 4980 w +(Next,) 970 5136 w +(each) 1293 5136 w +10 /LucidaSans-Demi f +(tiler) 1580 5136 w +10 /LucidaSansUnicode00 f +(gets) 1854 5136 w +(to) 2123 5136 w +(work) 2284 5136 w +(on) 2584 5136 w +(their) 2770 5136 w +(subset) 3058 5136 w +(of) 3441 5136 w +(the) 3602 5136 w +(geometry) 3820 5136 w +(\(potentially) 4342 5136 w +(in) 4949 5136 w +(parallel\)) 970 5256 w +10 /LucidaSansUnicode20 f +(\024) 1360 5256 w +10 /LucidaSansUnicode00 f +(see) 1460 5256 w +10 /LucidaSans-Demi f +(Figure) 1675 5256 w +(2) 2053 5256 w +10 /LucidaSansUnicode00 f +(.) 2117 5256 w +(They) 2233 5256 w +(walk) 2518 5256 w +(the) 2789 5256 w +(list) 2996 5256 w +(of) 3194 5256 w +(primitives,) 3344 5256 w +(then) 3908 5256 w +(for) 4177 5256 w +(each) 4368 5256 w +(of) 4643 5256 w +(them) 4792 5256 w +(apply) 970 5376 w +(the) 1281 5376 w +10 /LucidaSans-Demi f +(vertex) 1485 5376 w +(shader) 1856 5376 w +10 /LucidaSansUnicode00 f +(to) 2257 5376 w +(its) 2405 5376 w +(vertices) 2572 5376 w +(\(which) 2995 5376 w +(expects) 3359 5376 w +(clip) 3784 5376 w +(space) 4006 5376 w +(coordinates) 4332 5376 w +(in) 4949 5376 w +(return\),) 970 5496 w +(perform) 1378 5496 w +(frustum) 1813 5496 w +(culling) 2239 5496 w +(and) 2606 5496 w +(clipping,) 2829 5496 w +(back-face) 3292 5496 w +(culling,) 3819 5496 w +(and) 4218 5496 w +(then) 4441 5496 w +(project) 4701 5496 w +(them) 970 5616 w +(into) 1258 5616 w +(the) 1487 5616 w +(viewport) 1682 5616 w +(\(screen) 2138 5616 w +(space\).) 2528 5616 w +(Following) 2941 5616 w +(this) 3445 5616 w +(step,) 3665 5616 w +(they) 3945 5616 w +(build) 4193 5616 w +(a) 4480 5616 w +(bounding) 4576 5616 w +(box,) 970 5736 w +(used) 1220 5736 w +(to) 1485 5736 w +(allocate) 1616 5736 w +(each) 2022 5736 w +(primitive) 2279 5736 w +(into a rasterization bucket, or) 2741 5736 w +10 /LucidaSans-Demi f +(tile) 4217 5736 w +10 /LucidaSansUnicode00 f +(, managed by) 4383 5736 w +(one of the rasterizers; this is illustrated) 970 5856 w +(in) 2922 5856 w +10 /LucidaSans-Demi f +(Figure) 3046 5856 w +(3) 3405 5856 w +10 /LucidaSansUnicode00 f +(.) 3469 5856 w +(If) 3566 5856 w +(it) 3665 5856 w +(spans) 3764 5856 w +(multiple) 4079 5856 w +(tiles,) 4510 5856 w +(it) 4777 5856 w +(will) 4876 5856 w +(be copied and sent to each of them.) 970 5976 w +(Finally,) 970 6132 w +(the) 1346 6132 w +10 /LucidaSans-Demi f +(rasterizers) 1535 6132 w +10 /LucidaSansUnicode00 f +(receive) 2128 6132 w +(the) 2503 6132 w +(primitive) 2692 6132 w +(in) 3155 6132 w +(screen) 3280 6132 w +(space,) 3631 6132 w +(slice) 3974 6132 w +(it) 4225 6132 w +(to) 4326 6132 w +(fit) 4459 6132 w +(their) 4597 6132 w +(tile,) 4857 6132 w +(and) 970 6252 w +(apply) 1187 6252 w +(a) 1486 6252 w +(rasterization) 1578 6252 w +(routine) 2226 6252 w +(based) 2611 6252 w +(on) 2936 6252 w +(its) 3096 6252 w +(type) 3250 6252 w +(\(only) 3495 6252 w +10 /LucidaSans-Italic f +(points) 3769 6252 w +10 /LucidaSansUnicode00 f +(,) 4065 6252 w +10 /LucidaSans-Italic f +(lines) 4134 6252 w +10 /LucidaSansUnicode00 f +(and) 4393 6252 w +10 /LucidaSans-Italic f +(triangles) 4610 6252 w +10 /LucidaSansUnicode00 f +(are) 970 6372 w +(supported\).) 1160 6372 w +(For) 1760 6372 w +(each) 1954 6372 w +(of) 2216 6372 w +(the) 2352 6372 w +(pixels,) 2545 6372 w +(a) 2904 6372 w +10 /LucidaSans-Demi f +(depth) 2997 6372 w +(test) 3333 6372 w 10 /LucidaSansUnicode00 f -(To be determined.) 1330 2290 w +(is) 3569 6372 w +(performed,) 3687 6372 w +(discarding) 4268 6372 w +(frag\255) 4812 6372 w +(ments) 970 6492 w +(that) 1319 6492 w +(are) 1560 6492 w +(further) 1762 6492 w +(away.) 2148 6492 w +(Then) 2469 6492 w +(a) 2762 6492 w 10 /LucidaSans-Demi f -(Rendering graph) 720 2650 w -1026 4000 1026 3640 Dl -1026 3640 1566 3640 Dl -1566 3640 1566 4000 Dl -1566 4000 1026 4000 Dl +(fragment) 2867 6492 w +(shader) 3391 6492 w +10 /LucidaSansUnicode00 f +(is) 3793 6492 w +(applied) 3923 6492 w +(and) 4331 6492 w +(the) 4560 6492 w +(result) 4764 6492 w +(written to the framebuffer.) 970 6612 w +(July 22, 2024) 2556 7680 w +cleartomark +showpage +saveobj restore +%%EndPage: 1 1 +%%Page: 2 2 +/saveobj save def +mark +2 pagesetup +10 /LucidaSansUnicode00 f +(\255 2 \255) 2783 480 w +1026 1992 1026 1632 Dl +1026 1632 1566 1632 Dl +1566 1632 1566 1992 Dl +1566 1992 1026 1992 Dl 7 /LucidaSansUnicode00 f -(Renderjob) 1123 3834 w -1566 3820 1926 3820 Dl -1854 3838 1926 3820 Dl -1853 3833 1925 3820 Dl -1852 3829 1925 3820 Dl -1851 3824 1925 3820 Dl -1851 3820 1925 3820 Dl -1851 3815 1925 3819 Dl -1852 3810 1925 3819 Dl -1853 3806 1925 3819 Dl -1854 3802 1926 3820 Dl -1926 3820 432 432 De -(renderer) 1997 3834 w -2358 3820 2718 3820 Dl -2646 3838 2718 3820 Dl -2645 3833 2717 3820 Dl -2644 3829 2717 3820 Dl -2643 3824 2717 3820 Dl -2643 3820 2717 3820 Dl -2643 3815 2717 3819 Dl -2644 3810 2717 3819 Dl -2645 3806 2717 3819 Dl -2646 3802 2718 3820 Dl -2718 3820 432 432 De -(entityproc) 2763 3834 w -3510 3064 432 432 De -(tiler) 3626 3078 w -(1) 3782 3078 w -3510 3568 432 432 De -(tiler) 3626 3582 w -(2) 3782 3582 w -3510 4072 432 432 De +(Renderjob) 1123 1826 w +1566 1812 1926 1812 Dl +1854 1830 1926 1812 Dl +1853 1825 1925 1812 Dl +1852 1821 1925 1812 Dl +1851 1816 1925 1812 Dl +1851 1812 1925 1812 Dl +1851 1807 1925 1811 Dl +1852 1802 1925 1811 Dl +1853 1798 1925 1811 Dl +1854 1794 1926 1812 Dl +1926 1812 432 432 De +(renderer) 1997 1826 w +2358 1812 2718 1812 Dl +2646 1830 2718 1812 Dl +2645 1825 2717 1812 Dl +2644 1821 2717 1812 Dl +2643 1816 2717 1812 Dl +2643 1812 2717 1812 Dl +2643 1807 2717 1811 Dl +2644 1802 2717 1811 Dl +2645 1798 2717 1811 Dl +2646 1794 2718 1812 Dl +2718 1812 432 432 De +(entityproc) 2763 1826 w +3510 1056 432 432 De +(tiler) 3626 1070 w +(1) 3782 1070 w +3510 1560 432 432 De +(tiler) 3626 1574 w +(2) 3782 1574 w +3510 2064 432 432 De 7 /LucidaSansUnicode20 f -(&) 3691 4086 w -3510 4576 432 432 De +(&) 3691 2078 w +3510 2568 432 432 De 7 /LucidaSansUnicode00 f -(tiler) 3627 4590 w -(n) 3783 4590 w -4302 3064 432 432 De -(rasterizer) 4322 3078 w -(1) 4670 3078 w -4302 3568 432 432 De -(rasterizer) 4322 3582 w -(2) 4670 3582 w -4302 4072 432 432 De +(tiler) 3627 2582 w +(n) 3783 2582 w +4302 1056 432 432 De +(rasterizer) 4322 1070 w +(1) 4670 1070 w +4302 1560 432 432 De +(rasterizer) 4322 1574 w +(2) 4670 1574 w +4302 2064 432 432 De 7 /LucidaSansUnicode20 f -(&) 4483 4086 w -4302 4576 432 432 De +(&) 4483 2078 w +4302 2568 432 432 De 7 /LucidaSansUnicode00 f -(rasterizer) 4323 4590 w -(n) 4671 4590 w -3090 3670 3569 3213 Dl -3530 3275 3569 3213 Dl -3526 3273 3569 3213 Dl -3522 3270 3568 3213 Dl -3519 3267 3569 3213 Dl -3515 3264 3569 3213 Dl -3512 3261 3568 3214 Dl -3510 3257 3569 3213 Dl -3507 3253 3568 3213 Dl -3504 3249 3568 3213 Dl -3139 3754 3519 3634 Dl -3456 3672 3519 3634 Dl -3454 3668 3519 3633 Dl -3452 3664 3519 3634 Dl -3450 3660 3519 3634 Dl -3449 3655 3519 3633 Dl -3448 3651 3520 3633 Dl -3447 3647 3519 3634 Dl -3446 3642 3519 3633 Dl -3445 3637 3519 3633 Dl -3139 3885 3519 4005 Dl -3445 4002 3519 4006 Dl -3446 3997 3519 4006 Dl -3447 3992 3519 4005 Dl -3448 3988 3520 4006 Dl -3449 3984 3519 4006 Dl -3450 3979 3519 4005 Dl -3452 3975 3519 4005 Dl -3454 3971 3519 4006 Dl -3456 3967 3519 4005 Dl -3090 3969 3569 4426 Dl -3504 4390 3568 4426 Dl -3507 4386 3568 4426 Dl -3510 4382 3569 4426 Dl -3512 4378 3568 4425 Dl -3515 4375 3569 4426 Dl -3519 4372 3569 4426 Dl -3522 4369 3568 4426 Dl -3526 4366 3569 4426 Dl -3530 4364 3569 4426 Dl -3942 3064 4302 3064 Dl -4230 3082 4302 3064 Dl -4229 3077 4301 3064 Dl -4228 3073 4301 3064 Dl -4227 3068 4301 3064 Dl -4227 3064 4301 3064 Dl -4227 3059 4301 3063 Dl -4228 3054 4301 3063 Dl -4229 3050 4301 3063 Dl -4230 3046 4302 3064 Dl -3908 3179 4335 3451 Dl -4265 3428 4335 3451 Dl -4266 3424 4335 3452 Dl -4268 3420 4334 3451 Dl -4271 3416 4335 3452 Dl -4273 3412 4335 3451 Dl -4275 3408 4334 3451 Dl -4278 3404 4335 3451 Dl -4281 3401 4335 3451 Dl -4284 3398 4335 3452 Dl -3859 3233 4383 3901 Dl -4325 3856 4383 3901 Dl -4328 3853 4383 3901 Dl -4332 3849 4384 3901 Dl -4335 3846 4384 3901 Dl -4338 3843 4384 3901 Dl -4342 3840 4384 3901 Dl -4345 3838 4383 3901 Dl -4350 3836 4384 3901 Dl -4354 3834 4384 3901 Dl -3826 3255 4417 4384 Dl -4368 4329 4417 4384 Dl -4371 4326 4417 4384 Dl -4375 4323 4417 4384 Dl -4379 4321 4417 4384 Dl -4383 4318 4417 4383 Dl -4387 4316 4417 4383 Dl -4391 4315 4416 4384 Dl -4395 4313 4416 4384 Dl -4400 4312 4417 4384 Dl -3908 3452 4335 3180 Dl -4284 3233 4335 3179 Dl -4281 3230 4335 3180 Dl -4278 3227 4335 3180 Dl -4275 3223 4334 3180 Dl -4273 3219 4335 3180 Dl -4271 3215 4335 3179 Dl -4268 3211 4334 3180 Dl -4266 3208 4335 3180 Dl -4265 3203 4335 3180 Dl -3942 3568 4302 3568 Dl -4230 3586 4302 3568 Dl -4229 3581 4301 3568 Dl -4228 3577 4301 3568 Dl -4227 3572 4301 3568 Dl -4227 3568 4301 3568 Dl -4227 3563 4301 3567 Dl -4228 3558 4301 3567 Dl -4229 3554 4301 3567 Dl -4230 3550 4302 3568 Dl -3908 3683 4335 3955 Dl -4265 3932 4335 3955 Dl -4266 3928 4335 3956 Dl -4268 3924 4334 3955 Dl -4271 3920 4335 3956 Dl -4273 3916 4335 3955 Dl -4275 3912 4334 3955 Dl -4278 3908 4335 3955 Dl -4281 3905 4335 3955 Dl -4284 3902 4335 3956 Dl -3859 3737 4383 4405 Dl -4325 4360 4383 4405 Dl -4328 4357 4383 4405 Dl -4332 4353 4384 4405 Dl -4335 4350 4384 4405 Dl -4338 4347 4384 4405 Dl -4342 4344 4384 4405 Dl -4345 4342 4383 4405 Dl -4350 4340 4384 4405 Dl -4354 4338 4384 4405 Dl +(rasterizer) 4323 2582 w +(n) 4671 2582 w +3090 1662 3569 1205 Dl +3530 1267 3569 1205 Dl +3526 1265 3569 1205 Dl +3522 1262 3568 1205 Dl +3519 1259 3569 1205 Dl +3515 1256 3569 1205 Dl +3512 1253 3568 1206 Dl +3510 1249 3569 1205 Dl +3507 1245 3568 1205 Dl +3504 1241 3568 1205 Dl +3139 1746 3519 1626 Dl +3456 1664 3519 1626 Dl +3454 1660 3519 1625 Dl +3452 1656 3519 1626 Dl +3450 1652 3519 1626 Dl +3449 1647 3519 1625 Dl +3448 1643 3520 1625 Dl +3447 1639 3519 1626 Dl +3446 1634 3519 1625 Dl +3445 1629 3519 1625 Dl +3139 1877 3519 1997 Dl +3445 1994 3519 1998 Dl +3446 1989 3519 1998 Dl +3447 1984 3519 1997 Dl +3448 1980 3520 1998 Dl +3449 1976 3519 1998 Dl +3450 1971 3519 1997 Dl +3452 1967 3519 1997 Dl +3454 1963 3519 1998 Dl +3456 1959 3519 1997 Dl +3090 1961 3569 2418 Dl +3504 2382 3568 2418 Dl +3507 2378 3568 2418 Dl +3510 2374 3569 2418 Dl +3512 2370 3568 2417 Dl +3515 2367 3569 2418 Dl +3519 2364 3569 2418 Dl +3522 2361 3568 2418 Dl +3526 2358 3569 2418 Dl +3530 2356 3569 2418 Dl +3942 1056 4302 1056 Dl +4230 1074 4302 1056 Dl +4229 1069 4301 1056 Dl +4228 1065 4301 1056 Dl +4227 1060 4301 1056 Dl +4227 1056 4301 1056 Dl +4227 1051 4301 1055 Dl +4228 1046 4301 1055 Dl +4229 1042 4301 1055 Dl +4230 1038 4302 1056 Dl +3908 1171 4335 1443 Dl +4265 1420 4335 1443 Dl +4266 1416 4335 1444 Dl +4268 1412 4334 1443 Dl +4271 1408 4335 1444 Dl +4273 1404 4335 1443 Dl +4275 1400 4334 1443 Dl +4278 1396 4335 1443 Dl +4281 1393 4335 1443 Dl +4284 1390 4335 1444 Dl +3859 1225 4383 1893 Dl +4325 1848 4383 1893 Dl +4328 1845 4383 1893 Dl +4332 1841 4384 1893 Dl +4335 1838 4384 1893 Dl +4338 1835 4384 1893 Dl +4342 1832 4384 1893 Dl +4345 1830 4383 1893 Dl +4350 1828 4384 1893 Dl +4354 1826 4384 1893 Dl +3826 1247 4417 2376 Dl +4368 2321 4417 2376 Dl +4371 2318 4417 2376 Dl +4375 2315 4417 2376 Dl +4379 2313 4417 2376 Dl +4383 2310 4417 2375 Dl +4387 2308 4417 2375 Dl +4391 2307 4416 2376 Dl +4395 2305 4416 2376 Dl +4400 2304 4417 2376 Dl +3908 1444 4335 1172 Dl +4284 1225 4335 1171 Dl +4281 1222 4335 1172 Dl +4278 1219 4335 1172 Dl +4275 1215 4334 1172 Dl +4273 1211 4335 1172 Dl +4271 1207 4335 1171 Dl +4268 1203 4334 1172 Dl +4266 1200 4335 1172 Dl +4265 1195 4335 1172 Dl +3942 1560 4302 1560 Dl +4230 1578 4302 1560 Dl +4229 1573 4301 1560 Dl +4228 1569 4301 1560 Dl +4227 1564 4301 1560 Dl +4227 1560 4301 1560 Dl +4227 1555 4301 1559 Dl +4228 1550 4301 1559 Dl +4229 1546 4301 1559 Dl +4230 1542 4302 1560 Dl +3908 1675 4335 1947 Dl +4265 1924 4335 1947 Dl +4266 1920 4335 1948 Dl +4268 1916 4334 1947 Dl +4271 1912 4335 1948 Dl +4273 1908 4335 1947 Dl +4275 1904 4334 1947 Dl +4278 1900 4335 1947 Dl +4281 1897 4335 1947 Dl +4284 1894 4335 1948 Dl +3859 1729 4383 2397 Dl +4325 2352 4383 2397 Dl +4328 2349 4383 2397 Dl +4332 2345 4384 2397 Dl +4335 2342 4384 2397 Dl +4338 2339 4384 2397 Dl +4342 2336 4384 2397 Dl +4345 2334 4383 2397 Dl +4350 2332 4384 2397 Dl +4354 2330 4384 2397 Dl 10 /LucidaSans-Demi f -(Figure 1) 720 4990 w +(Figure 1) 970 2982 w 10 /LucidaSansUnicode00 f -(: For a) 1142 4990 w +(: The rendering graph for a) 1392 2982 w 10 /LucidaSans-Demi f -(2n) 1481 4990 w +(2n) 2746 2982 w 10 /LucidaSansUnicode00 f -(processor machine.) 1643 4990 w +(processor machine.) 2908 2982 w 10 /LucidaSans-Demi f -(The scene) 720 5230 w -2196 5572 2196 5428 Dl -2196 5428 2556 5428 Dl -2556 5428 2556 5572 Dl -2556 5572 2196 5572 Dl +(Tile-based rendering) 720 3222 w +2070 4248 2106 4248 Dl +2142 4248 2178 4248 Dl +2214 4248 2250 4248 Dl +2286 4248 2322 4248 Dl +2358 4248 2394 4248 Dl +2430 4248 2466 4248 Dl +2502 4248 2538 4248 Dl +2574 4248 2610 4248 Dl +2646 4248 2682 4248 Dl +2718 4248 2754 4248 Dl +2790 4248 2826 4248 Dl +2862 4248 2898 4248 Dl +2934 4248 2970 4248 Dl +2970 4248 2970 4212 Dl +2970 4194 2970 4158 Dl +2970 4140 2970 4104 Dl +2970 4104 2934 4104 Dl +2898 4104 2862 4104 Dl +2826 4104 2790 4104 Dl +2754 4104 2718 4104 Dl +2682 4104 2646 4104 Dl +2610 4104 2574 4104 Dl +2538 4104 2502 4104 Dl +2466 4104 2430 4104 Dl +2394 4104 2358 4104 Dl +2322 4104 2286 4104 Dl +2250 4104 2214 4104 Dl +2178 4104 2142 4104 Dl +2106 4104 2070 4104 Dl +2070 4104 2070 4140 Dl +2070 4158 2070 4194 Dl +2070 4212 2070 4248 Dl 7 /LucidaSansUnicode00 f -(Scene) 2279 5514 w -2376 5572 2376 5716 Dl -2376 5716 2448 5716 Dl -2448 5788 2448 5644 Dl -2448 5644 2808 5644 Dl -2808 5644 2808 5788 Dl -2808 5788 2448 5788 Dl -(Entity) 2534 5730 w -2628 5788 2628 5932 Dl -2628 5932 2700 5932 Dl -2700 6004 2700 5860 Dl -2700 5860 3060 5860 Dl -3060 5860 3060 6004 Dl -3060 6004 2700 6004 Dl -(Model) 2777 5946 w -2880 6004 2880 6148 Dl -2880 6148 2952 6148 Dl -2952 6220 2952 6076 Dl -2952 6076 3312 6076 Dl -3312 6076 3312 6220 Dl -3312 6220 2952 6220 Dl -(Mesh) 3043 6162 w -3132 6220 3132 6364 Dl -3132 6364 3204 6364 Dl -3204 6436 3204 6292 Dl -3204 6292 3564 6292 Dl -3564 6292 3564 6436 Dl -3564 6436 3204 6436 Dl -(Primitive) 3237 6378 w -3132 6364 3132 6508 Dl -3132 6508 3132 6652 Dl -3132 6652 3204 6652 Dl -3204 6724 3204 6580 Dl -3204 6580 3564 6580 Dl -3564 6580 3564 6724 Dl -3564 6724 3204 6724 Dl -(Material) 3248 6666 w +(tile 1) 2435 4190 w +2070 4392 2106 4392 Dl +2142 4392 2178 4392 Dl +2214 4392 2250 4392 Dl +2286 4392 2322 4392 Dl +2358 4392 2394 4392 Dl +2430 4392 2466 4392 Dl +2502 4392 2538 4392 Dl +2574 4392 2610 4392 Dl +2646 4392 2682 4392 Dl +2718 4392 2754 4392 Dl +2790 4392 2826 4392 Dl +2862 4392 2898 4392 Dl +2934 4392 2970 4392 Dl +2970 4392 2970 4356 Dl +2970 4338 2970 4302 Dl +2970 4284 2970 4248 Dl +2970 4248 2934 4248 Dl +2898 4248 2862 4248 Dl +2826 4248 2790 4248 Dl +2754 4248 2718 4248 Dl +2682 4248 2646 4248 Dl +2610 4248 2574 4248 Dl +2538 4248 2502 4248 Dl +2466 4248 2430 4248 Dl +2394 4248 2358 4248 Dl +2322 4248 2286 4248 Dl +2250 4248 2214 4248 Dl +2178 4248 2142 4248 Dl +2106 4248 2070 4248 Dl +2070 4248 2070 4284 Dl +2070 4302 2070 4338 Dl +2070 4356 2070 4392 Dl +(tile 2) 2435 4334 w +2070 4536 2106 4536 Dl +2142 4536 2178 4536 Dl +2214 4536 2250 4536 Dl +2286 4536 2322 4536 Dl +2358 4536 2394 4536 Dl +2430 4536 2466 4536 Dl +2502 4536 2538 4536 Dl +2574 4536 2610 4536 Dl +2646 4536 2682 4536 Dl +2718 4536 2754 4536 Dl +2790 4536 2826 4536 Dl +2862 4536 2898 4536 Dl +2934 4536 2970 4536 Dl +2970 4536 2970 4500 Dl +2970 4482 2970 4446 Dl +2970 4428 2970 4392 Dl +2970 4392 2934 4392 Dl +2898 4392 2862 4392 Dl +2826 4392 2790 4392 Dl +2754 4392 2718 4392 Dl +2682 4392 2646 4392 Dl +2610 4392 2574 4392 Dl +2538 4392 2502 4392 Dl +2466 4392 2430 4392 Dl +2394 4392 2358 4392 Dl +2322 4392 2286 4392 Dl +2250 4392 2214 4392 Dl +2178 4392 2142 4392 Dl +2106 4392 2070 4392 Dl +2070 4392 2070 4428 Dl +2070 4446 2070 4482 Dl +2070 4500 2070 4536 Dl +7 /LucidaSansUnicode20 f +(&) 2485 4478 w +2070 4680 2106 4680 Dl +2142 4680 2178 4680 Dl +2214 4680 2250 4680 Dl +2286 4680 2322 4680 Dl +2358 4680 2394 4680 Dl +2430 4680 2466 4680 Dl +2502 4680 2538 4680 Dl +2574 4680 2610 4680 Dl +2646 4680 2682 4680 Dl +2718 4680 2754 4680 Dl +2790 4680 2826 4680 Dl +2862 4680 2898 4680 Dl +2934 4680 2970 4680 Dl +2970 4680 2970 4644 Dl +2970 4626 2970 4590 Dl +2970 4572 2970 4536 Dl +2970 4536 2934 4536 Dl +2898 4536 2862 4536 Dl +2826 4536 2790 4536 Dl +2754 4536 2718 4536 Dl +2682 4536 2646 4536 Dl +2610 4536 2574 4536 Dl +2538 4536 2502 4536 Dl +2466 4536 2430 4536 Dl +2394 4536 2358 4536 Dl +2322 4536 2286 4536 Dl +2250 4536 2214 4536 Dl +2178 4536 2142 4536 Dl +2106 4536 2070 4536 Dl +2070 4536 2070 4572 Dl +2070 4590 2070 4626 Dl +2070 4644 2070 4680 Dl +7 /LucidaSansUnicode00 f +(tile n) 2435 4622 w +2034 4716 2034 4068 Dl +2034 4068 3006 4068 Dl +3006 4068 3006 4716 Dl +3006 4716 2034 4716 Dl +(Screen) 1774 4118 w +3330 3636 432 432 De +(rasterizer) 3350 3650 w +(1) 3698 3650 w +3330 4140 432 432 De +(rasterizer) 3350 4154 w +(2) 3698 4154 w +3330 4644 432 432 De +7 /LucidaSansUnicode20 f +(&) 3511 4658 w +3330 5148 432 432 De +7 /LucidaSansUnicode00 f +(rasterizer) 3351 5162 w +(n) 3699 5162 w +2970 4176 3330 3636 Dl +2970 4320 3330 4140 Dl +2970 4464 3330 4644 Dl +2970 4608 3330 5148 Dl +10 /LucidaSans-Demi f +(Figure 2) 720 5562 w +10 /LucidaSansUnicode00 f +(: Per tile rasterizers.) 1142 5562 w +(July 22, 2024) 2556 7680 w cleartomark showpage saveobj restore -%%EndPage: 1 1 -%%Page: 2 2 +%%EndPage: 2 2 +%%Page: 3 3 /saveobj save def mark -2 pagesetup +3 pagesetup 10 /LucidaSansUnicode00 f -(\255 2 \255) 2783 480 w -10 /LucidaSans-Demi f -(Tile-based rendering) 720 840 w -2070 1866 2106 1866 Dl -2142 1866 2178 1866 Dl -2214 1866 2250 1866 Dl -2286 1866 2322 1866 Dl -2358 1866 2394 1866 Dl -2430 1866 2466 1866 Dl -2502 1866 2538 1866 Dl -2574 1866 2610 1866 Dl -2646 1866 2682 1866 Dl -2718 1866 2754 1866 Dl -2790 1866 2826 1866 Dl -2862 1866 2898 1866 Dl -2934 1866 2970 1866 Dl -2970 1866 2970 1830 Dl +(\255 3 \255) 2783 480 w +2070 1668 2106 1668 Dl +2142 1668 2178 1668 Dl +2214 1668 2250 1668 Dl +2286 1668 2322 1668 Dl +2358 1668 2394 1668 Dl +2430 1668 2466 1668 Dl +2502 1668 2538 1668 Dl +2574 1668 2610 1668 Dl +2646 1668 2682 1668 Dl +2718 1668 2754 1668 Dl +2790 1668 2826 1668 Dl +2862 1668 2898 1668 Dl +2934 1668 2970 1668 Dl +2970 1668 2970 1632 Dl +2970 1614 2970 1578 Dl +2970 1560 2970 1524 Dl +2970 1524 2934 1524 Dl +2898 1524 2862 1524 Dl +2826 1524 2790 1524 Dl +2754 1524 2718 1524 Dl +2682 1524 2646 1524 Dl +2610 1524 2574 1524 Dl +2538 1524 2502 1524 Dl +2466 1524 2430 1524 Dl +2394 1524 2358 1524 Dl +2322 1524 2286 1524 Dl +2250 1524 2214 1524 Dl +2178 1524 2142 1524 Dl +2106 1524 2070 1524 Dl +2070 1524 2070 1560 Dl +2070 1578 2070 1614 Dl +2070 1632 2070 1668 Dl +7 /LucidaSansUnicode00 f +(1) 2498 1610 w +2070 1812 2106 1812 Dl +2142 1812 2178 1812 Dl +2214 1812 2250 1812 Dl +2286 1812 2322 1812 Dl +2358 1812 2394 1812 Dl +2430 1812 2466 1812 Dl +2502 1812 2538 1812 Dl +2574 1812 2610 1812 Dl +2646 1812 2682 1812 Dl +2718 1812 2754 1812 Dl +2790 1812 2826 1812 Dl +2862 1812 2898 1812 Dl +2934 1812 2970 1812 Dl 2970 1812 2970 1776 Dl 2970 1758 2970 1722 Dl -2970 1722 2934 1722 Dl -2898 1722 2862 1722 Dl -2826 1722 2790 1722 Dl -2754 1722 2718 1722 Dl -2682 1722 2646 1722 Dl -2610 1722 2574 1722 Dl -2538 1722 2502 1722 Dl -2466 1722 2430 1722 Dl -2394 1722 2358 1722 Dl -2322 1722 2286 1722 Dl -2250 1722 2214 1722 Dl -2178 1722 2142 1722 Dl -2106 1722 2070 1722 Dl +2970 1704 2970 1668 Dl +2970 1668 2934 1668 Dl +2898 1668 2862 1668 Dl +2826 1668 2790 1668 Dl +2754 1668 2718 1668 Dl +2682 1668 2646 1668 Dl +2610 1668 2574 1668 Dl +2538 1668 2502 1668 Dl +2466 1668 2430 1668 Dl +2394 1668 2358 1668 Dl +2322 1668 2286 1668 Dl +2250 1668 2214 1668 Dl +2178 1668 2142 1668 Dl +2106 1668 2070 1668 Dl +2070 1668 2070 1704 Dl 2070 1722 2070 1758 Dl 2070 1776 2070 1812 Dl -2070 1830 2070 1866 Dl -7 /LucidaSansUnicode00 f -(tile 1) 2435 1808 w -2070 2010 2106 2010 Dl -2142 2010 2178 2010 Dl -2214 2010 2250 2010 Dl -2286 2010 2322 2010 Dl -2358 2010 2394 2010 Dl -2430 2010 2466 2010 Dl -2502 2010 2538 2010 Dl -2574 2010 2610 2010 Dl -2646 2010 2682 2010 Dl -2718 2010 2754 2010 Dl -2790 2010 2826 2010 Dl -2862 2010 2898 2010 Dl -2934 2010 2970 2010 Dl -2970 2010 2970 1974 Dl +(2) 2498 1754 w +2070 1956 2106 1956 Dl +2142 1956 2178 1956 Dl +2214 1956 2250 1956 Dl +2286 1956 2322 1956 Dl +2358 1956 2394 1956 Dl +2430 1956 2466 1956 Dl +2502 1956 2538 1956 Dl +2574 1956 2610 1956 Dl +2646 1956 2682 1956 Dl +2718 1956 2754 1956 Dl +2790 1956 2826 1956 Dl +2862 1956 2898 1956 Dl +2934 1956 2970 1956 Dl 2970 1956 2970 1920 Dl 2970 1902 2970 1866 Dl -2970 1866 2934 1866 Dl -2898 1866 2862 1866 Dl -2826 1866 2790 1866 Dl -2754 1866 2718 1866 Dl -2682 1866 2646 1866 Dl -2610 1866 2574 1866 Dl -2538 1866 2502 1866 Dl -2466 1866 2430 1866 Dl -2394 1866 2358 1866 Dl -2322 1866 2286 1866 Dl -2250 1866 2214 1866 Dl -2178 1866 2142 1866 Dl -2106 1866 2070 1866 Dl +2970 1848 2970 1812 Dl +2970 1812 2934 1812 Dl +2898 1812 2862 1812 Dl +2826 1812 2790 1812 Dl +2754 1812 2718 1812 Dl +2682 1812 2646 1812 Dl +2610 1812 2574 1812 Dl +2538 1812 2502 1812 Dl +2466 1812 2430 1812 Dl +2394 1812 2358 1812 Dl +2322 1812 2286 1812 Dl +2250 1812 2214 1812 Dl +2178 1812 2142 1812 Dl +2106 1812 2070 1812 Dl +2070 1812 2070 1848 Dl 2070 1866 2070 1902 Dl 2070 1920 2070 1956 Dl -2070 1974 2070 2010 Dl -(tile 2) 2435 1952 w -2070 2154 2106 2154 Dl -2142 2154 2178 2154 Dl -2214 2154 2250 2154 Dl -2286 2154 2322 2154 Dl -2358 2154 2394 2154 Dl -2430 2154 2466 2154 Dl -2502 2154 2538 2154 Dl -2574 2154 2610 2154 Dl -2646 2154 2682 2154 Dl -2718 2154 2754 2154 Dl -2790 2154 2826 2154 Dl -2862 2154 2898 2154 Dl -2934 2154 2970 2154 Dl -2970 2154 2970 2118 Dl +7 /LucidaSansUnicode20 f +(&) 2485 1898 w +2070 2100 2106 2100 Dl +2142 2100 2178 2100 Dl +2214 2100 2250 2100 Dl +2286 2100 2322 2100 Dl +2358 2100 2394 2100 Dl +2430 2100 2466 2100 Dl +2502 2100 2538 2100 Dl +2574 2100 2610 2100 Dl +2646 2100 2682 2100 Dl +2718 2100 2754 2100 Dl +2790 2100 2826 2100 Dl +2862 2100 2898 2100 Dl +2934 2100 2970 2100 Dl 2970 2100 2970 2064 Dl 2970 2046 2970 2010 Dl -2970 2010 2934 2010 Dl -2898 2010 2862 2010 Dl -2826 2010 2790 2010 Dl -2754 2010 2718 2010 Dl -2682 2010 2646 2010 Dl -2610 2010 2574 2010 Dl -2538 2010 2502 2010 Dl -2466 2010 2430 2010 Dl -2394 2010 2358 2010 Dl -2322 2010 2286 2010 Dl -2250 2010 2214 2010 Dl -2178 2010 2142 2010 Dl -2106 2010 2070 2010 Dl +2970 1992 2970 1956 Dl +2970 1956 2934 1956 Dl +2898 1956 2862 1956 Dl +2826 1956 2790 1956 Dl +2754 1956 2718 1956 Dl +2682 1956 2646 1956 Dl +2610 1956 2574 1956 Dl +2538 1956 2502 1956 Dl +2466 1956 2430 1956 Dl +2394 1956 2358 1956 Dl +2322 1956 2286 1956 Dl +2250 1956 2214 1956 Dl +2178 1956 2142 1956 Dl +2106 1956 2070 1956 Dl +2070 1956 2070 1992 Dl 2070 2010 2070 2046 Dl 2070 2064 2070 2100 Dl -2070 2118 2070 2154 Dl -7 /LucidaSansUnicode20 f -(&) 2485 2096 w -2070 2298 2106 2298 Dl -2142 2298 2178 2298 Dl -2214 2298 2250 2298 Dl -2286 2298 2322 2298 Dl -2358 2298 2394 2298 Dl -2430 2298 2466 2298 Dl -2502 2298 2538 2298 Dl -2574 2298 2610 2298 Dl -2646 2298 2682 2298 Dl -2718 2298 2754 2298 Dl -2790 2298 2826 2298 Dl -2862 2298 2898 2298 Dl -2934 2298 2970 2298 Dl -2970 2298 2970 2262 Dl -2970 2244 2970 2208 Dl -2970 2190 2970 2154 Dl -2970 2154 2934 2154 Dl -2898 2154 2862 2154 Dl -2826 2154 2790 2154 Dl -2754 2154 2718 2154 Dl -2682 2154 2646 2154 Dl -2610 2154 2574 2154 Dl -2538 2154 2502 2154 Dl -2466 2154 2430 2154 Dl -2394 2154 2358 2154 Dl -2322 2154 2286 2154 Dl -2250 2154 2214 2154 Dl -2178 2154 2142 2154 Dl -2106 2154 2070 2154 Dl -2070 2154 2070 2190 Dl -2070 2208 2070 2244 Dl -2070 2262 2070 2298 Dl 7 /LucidaSansUnicode00 f -(tile n) 2435 2240 w -2034 2334 2034 1686 Dl -2034 1686 3006 1686 Dl -3006 1686 3006 2334 Dl -3006 2334 2034 2334 Dl -(Screen) 1774 1736 w -3330 1254 432 432 De -(rasterizer) 3350 1268 w -(1) 3698 1268 w -3330 1758 432 432 De -(rasterizer) 3350 1772 w -(2) 3698 1772 w -3330 2262 432 432 De +(n) 2499 2042 w +2142 1848 2592 1704 Dl +2592 1704 2754 2028 Dl +2754 2028 2142 1848 Dl +2034 2136 2034 1488 Dl +2034 1488 3006 1488 Dl +3006 1488 3006 2136 Dl +3006 2136 2034 2136 Dl +(Screen) 1774 1538 w +3330 1056 432 432 De +(rasterizer) 3350 1070 w +(1) 3698 1070 w +3330 1560 432 432 De +(rasterizer) 3350 1574 w +(2) 3698 1574 w +3330 2064 432 432 De 7 /LucidaSansUnicode20 f -(&) 3511 2276 w -3330 2766 432 432 De +(&) 3511 2078 w +3330 2568 432 432 De 7 /LucidaSansUnicode00 f -(rasterizer) 3351 2780 w -(n) 3699 2780 w -2970 1794 3330 1254 Dl -2970 1938 3330 1758 Dl -2970 2082 3330 2262 Dl -2970 2226 3330 2766 Dl +(rasterizer) 3351 2582 w +(n) 3699 2582 w +2970 1740 3330 1560 Dl +3273 1608 3329 1560 Dl +3270 1604 3329 1560 Dl +3268 1601 3329 1560 Dl +3265 1597 3329 1560 Dl +3263 1593 3329 1560 Dl +3261 1588 3329 1560 Dl +3260 1584 3329 1560 Dl +3258 1580 3329 1560 Dl +3257 1575 3329 1560 Dl +2970 1884 3330 2064 Dl +3257 2048 3329 2063 Dl +3258 2043 3329 2063 Dl +3260 2039 3329 2063 Dl +3261 2035 3329 2063 Dl +3263 2030 3329 2063 Dl +3265 2026 3329 2063 Dl +3268 2022 3329 2063 Dl +3270 2019 3329 2063 Dl +3273 2015 3329 2063 Dl +2970 2028 3330 2568 Dl +3275 2518 3329 2567 Dl +3278 2514 3329 2567 Dl +3281 2511 3329 2567 Dl +3285 2508 3329 2567 Dl +3288 2506 3329 2567 Dl +3292 2503 3329 2567 Dl +3296 2501 3329 2567 Dl +3300 2499 3329 2567 Dl +3304 2498 3329 2567 Dl 10 /LucidaSans-Demi f -(Figure 2) 720 3180 w +(Figure 3) 720 2982 w 10 /LucidaSansUnicode00 f -(: Per tile rasterizers.) 1142 3180 w -2070 4170 2106 4170 Dl -2142 4170 2178 4170 Dl -2214 4170 2250 4170 Dl -2286 4170 2322 4170 Dl -2358 4170 2394 4170 Dl -2430 4170 2466 4170 Dl -2502 4170 2538 4170 Dl -2574 4170 2610 4170 Dl -2646 4170 2682 4170 Dl -2718 4170 2754 4170 Dl -2790 4170 2826 4170 Dl -2862 4170 2898 4170 Dl -2934 4170 2970 4170 Dl -2970 4170 2970 4134 Dl -2970 4116 2970 4080 Dl -2970 4062 2970 4026 Dl -2970 4026 2934 4026 Dl -2898 4026 2862 4026 Dl -2826 4026 2790 4026 Dl -2754 4026 2718 4026 Dl -2682 4026 2646 4026 Dl -2610 4026 2574 4026 Dl -2538 4026 2502 4026 Dl -2466 4026 2430 4026 Dl -2394 4026 2358 4026 Dl -2322 4026 2286 4026 Dl -2250 4026 2214 4026 Dl -2178 4026 2142 4026 Dl -2106 4026 2070 4026 Dl -2070 4026 2070 4062 Dl -2070 4080 2070 4116 Dl -2070 4134 2070 4170 Dl +(: Raster task scheduling.) 1142 2982 w +10 /LucidaSans-Demi f +(The scene) 720 3222 w +2196 3564 2196 3420 Dl +2196 3420 2556 3420 Dl +2556 3420 2556 3564 Dl +2556 3564 2196 3564 Dl 7 /LucidaSansUnicode00 f -(1) 2498 4112 w -2070 4314 2106 4314 Dl -2142 4314 2178 4314 Dl -2214 4314 2250 4314 Dl -2286 4314 2322 4314 Dl -2358 4314 2394 4314 Dl -2430 4314 2466 4314 Dl -2502 4314 2538 4314 Dl -2574 4314 2610 4314 Dl -2646 4314 2682 4314 Dl -2718 4314 2754 4314 Dl -2790 4314 2826 4314 Dl -2862 4314 2898 4314 Dl -2934 4314 2970 4314 Dl -2970 4314 2970 4278 Dl -2970 4260 2970 4224 Dl -2970 4206 2970 4170 Dl -2970 4170 2934 4170 Dl -2898 4170 2862 4170 Dl -2826 4170 2790 4170 Dl -2754 4170 2718 4170 Dl -2682 4170 2646 4170 Dl -2610 4170 2574 4170 Dl -2538 4170 2502 4170 Dl -2466 4170 2430 4170 Dl -2394 4170 2358 4170 Dl -2322 4170 2286 4170 Dl -2250 4170 2214 4170 Dl -2178 4170 2142 4170 Dl -2106 4170 2070 4170 Dl -2070 4170 2070 4206 Dl -2070 4224 2070 4260 Dl -2070 4278 2070 4314 Dl -(2) 2498 4256 w -2070 4458 2106 4458 Dl -2142 4458 2178 4458 Dl -2214 4458 2250 4458 Dl -2286 4458 2322 4458 Dl -2358 4458 2394 4458 Dl -2430 4458 2466 4458 Dl -2502 4458 2538 4458 Dl -2574 4458 2610 4458 Dl -2646 4458 2682 4458 Dl -2718 4458 2754 4458 Dl -2790 4458 2826 4458 Dl -2862 4458 2898 4458 Dl -2934 4458 2970 4458 Dl -2970 4458 2970 4422 Dl -2970 4404 2970 4368 Dl -2970 4350 2970 4314 Dl -2970 4314 2934 4314 Dl -2898 4314 2862 4314 Dl -2826 4314 2790 4314 Dl -2754 4314 2718 4314 Dl -2682 4314 2646 4314 Dl -2610 4314 2574 4314 Dl -2538 4314 2502 4314 Dl -2466 4314 2430 4314 Dl -2394 4314 2358 4314 Dl -2322 4314 2286 4314 Dl -2250 4314 2214 4314 Dl -2178 4314 2142 4314 Dl -2106 4314 2070 4314 Dl -2070 4314 2070 4350 Dl -2070 4368 2070 4404 Dl -2070 4422 2070 4458 Dl -7 /LucidaSansUnicode20 f -(&) 2485 4400 w -2070 4602 2106 4602 Dl -2142 4602 2178 4602 Dl -2214 4602 2250 4602 Dl -2286 4602 2322 4602 Dl -2358 4602 2394 4602 Dl -2430 4602 2466 4602 Dl -2502 4602 2538 4602 Dl -2574 4602 2610 4602 Dl -2646 4602 2682 4602 Dl -2718 4602 2754 4602 Dl -2790 4602 2826 4602 Dl -2862 4602 2898 4602 Dl -2934 4602 2970 4602 Dl -2970 4602 2970 4566 Dl -2970 4548 2970 4512 Dl -2970 4494 2970 4458 Dl -2970 4458 2934 4458 Dl -2898 4458 2862 4458 Dl -2826 4458 2790 4458 Dl -2754 4458 2718 4458 Dl -2682 4458 2646 4458 Dl -2610 4458 2574 4458 Dl -2538 4458 2502 4458 Dl -2466 4458 2430 4458 Dl -2394 4458 2358 4458 Dl -2322 4458 2286 4458 Dl -2250 4458 2214 4458 Dl -2178 4458 2142 4458 Dl -2106 4458 2070 4458 Dl -2070 4458 2070 4494 Dl -2070 4512 2070 4548 Dl -2070 4566 2070 4602 Dl +(Scene) 2279 3506 w +2376 3564 2376 3708 Dl +2376 3708 2448 3708 Dl +2448 3780 2448 3636 Dl +2448 3636 2808 3636 Dl +2808 3636 2808 3780 Dl +2808 3780 2448 3780 Dl +(Entity) 2534 3722 w +2628 3780 2628 3924 Dl +2628 3924 2700 3924 Dl +2700 3996 2700 3852 Dl +2700 3852 3060 3852 Dl +3060 3852 3060 3996 Dl +3060 3996 2700 3996 Dl +(Model) 2777 3938 w +2880 3996 2880 4140 Dl +2880 4140 2952 4140 Dl +2952 4212 2952 4068 Dl +2952 4068 3312 4068 Dl +3312 4068 3312 4212 Dl +3312 4212 2952 4212 Dl +(Mesh) 3043 4154 w +3132 4212 3132 4356 Dl +3132 4356 3204 4356 Dl +3204 4428 3204 4284 Dl +3204 4284 3564 4284 Dl +3564 4284 3564 4428 Dl +3564 4428 3204 4428 Dl +(Primitive) 3237 4370 w +3132 4356 3132 4500 Dl +3132 4500 3132 4644 Dl +3132 4644 3204 4644 Dl +3204 4716 3204 4572 Dl +3204 4572 3564 4572 Dl +3564 4572 3564 4716 Dl +3564 4716 3204 4716 Dl +(Material) 3248 4658 w +10 /LucidaSans-Demi f +(Frames of reference) 720 5034 w +10 /LucidaSansUnicode00 f +(Frames are right-handed throughout every stage.) 970 5190 w +gsave +newpath +3586 5856 m +/inpath true def + 0.7 setgray +2790 6072 14 14 De + gsave eofill grestore 0 setgray stroke +grestore +/inpath false def 7 /LucidaSansUnicode00 f -(n) 2499 4544 w -2142 4350 2592 4206 Dl -2592 4206 2754 4530 Dl -2754 4530 2142 4350 Dl -2034 4638 2034 3990 Dl -2034 3990 3006 3990 Dl -3006 3990 3006 4638 Dl -3006 4638 2034 4638 Dl -(Screen) 1774 4040 w -3330 3558 432 432 De -(rasterizer) 3350 3572 w -(1) 3698 3572 w -3330 4062 432 432 De -(rasterizer) 3350 4076 w -(2) 3698 4076 w -3330 4566 432 432 De -7 /LucidaSansUnicode20 f -(&) 3511 4580 w -3330 5070 432 432 De +(p) 2703 6086 w +2797 6072 3514 6134 Dl +3441 6146 3514 6135 Dl +3441 6141 3515 6134 Dl +3440 6137 3514 6135 Dl +3440 6132 3514 6134 Dl +3441 6128 3515 6134 Dl +3441 6123 3514 6133 Dl +3441 6119 3513 6134 Dl +3443 6115 3514 6135 Dl +3444 6110 3513 6134 Dl +(bx) 3543 6148 w +2797 6072 2797 5352 Dl +2815 5424 2797 5352 Dl +2811 5424 2798 5352 Dl +2806 5425 2797 5352 Dl +2801 5426 2797 5352 Dl +2797 5426 2797 5352 Dl +2793 5426 2797 5352 Dl +2788 5425 2797 5352 Dl +2783 5424 2796 5352 Dl +2779 5424 2797 5352 Dl +(by) 2685 5366 w +2797 6072 2246 6360 Dl +2301 6311 2246 6359 Dl +2304 6313 2246 6359 Dl +2307 6317 2246 6359 Dl +2309 6321 2246 6359 Dl +2311 6325 2246 6359 Dl +2313 6329 2246 6359 Dl +2315 6334 2246 6359 Dl +2317 6338 2246 6359 Dl +2318 6342 2246 6359 Dl +(bz) 2132 6374 w +10 /LucidaSans-Demi f +(Figure 4) 720 6558 w +10 /LucidaSansUnicode00 f +(: Example right-handed rframe.) 1142 6558 w +10 /LucidaSans-Demi f +(Viewports) 720 6798 w +10 /LucidaSansUnicode00 f +(July 22, 2024) 2556 7680 w +cleartomark +showpage +saveobj restore +%%EndPage: 3 3 +%%Page: 4 4 +/saveobj save def +mark +4 pagesetup +10 /LucidaSansUnicode00 f +(\255 4 \255) 2783 480 w +1836 2352 1836 912 Dl +1836 912 3996 912 Dl +3996 912 3996 2352 Dl +3996 2352 1836 2352 Dl 7 /LucidaSansUnicode00 f -(rasterizer) 3351 5084 w -(n) 3699 5084 w -2970 4098 2990 4068 Dl -3007 4041 3027 4011 Dl -3045 3984 3065 3954 Dl -3083 3928 3103 3898 Dl -3121 3871 3141 3841 Dl -3158 3814 3178 3784 Dl -3196 3758 3216 3728 Dl -3234 3701 3254 3671 Dl -3272 3644 3292 3614 Dl -3309 3588 3329 3558 Dl -3304 3627 3329 3558 Dl -3300 3626 3329 3558 Dl -3296 3624 3329 3558 Dl -3292 3622 3329 3558 Dl -3288 3619 3329 3558 Dl -3285 3617 3329 3558 Dl -3281 3614 3329 3558 Dl -3278 3611 3329 3558 Dl -3275 3607 3329 3558 Dl -2970 4242 3330 4062 Dl -3273 4110 3329 4062 Dl -3270 4106 3329 4062 Dl -3268 4103 3329 4062 Dl -3265 4099 3329 4062 Dl -3263 4095 3329 4062 Dl -3261 4090 3329 4062 Dl -3260 4086 3329 4062 Dl -3258 4082 3329 4062 Dl -3257 4077 3329 4062 Dl -2970 4386 3330 4566 Dl -3257 4550 3329 4565 Dl -3258 4545 3329 4565 Dl -3260 4541 3329 4565 Dl -3261 4537 3329 4565 Dl -3263 4532 3329 4565 Dl -3265 4528 3329 4565 Dl -3268 4524 3329 4565 Dl -3270 4521 3329 4565 Dl -3273 4517 3329 4565 Dl -2970 4530 3330 5070 Dl -3275 5020 3329 5069 Dl -3278 5016 3329 5069 Dl -3281 5013 3329 5069 Dl -3285 5010 3329 5069 Dl -3288 5008 3329 5069 Dl -3292 5005 3329 5069 Dl -3296 5003 3329 5069 Dl -3300 5001 3329 5069 Dl -3304 5000 3329 5069 Dl +(framebuffer) 2714 2222 w +gsave +newpath +2916 2208 m +/inpath true def + 0.7 setgray +1828 912 14 14 De + gsave eofill grestore 0 setgray stroke +grestore +/inpath false def +(p) 1742 926 w +1836 912 2556 912 Dl +2484 930 2556 912 Dl +2483 925 2555 912 Dl +2482 921 2555 912 Dl +2481 916 2555 912 Dl +2481 912 2555 912 Dl +2481 907 2555 911 Dl +2482 902 2555 911 Dl +2483 898 2555 911 Dl +2484 894 2556 912 Dl +(bx) 2513 854 w +1836 912 1836 1632 Dl +1818 1560 1836 1632 Dl +1822 1559 1835 1631 Dl +1826 1558 1835 1631 Dl +1831 1557 1835 1631 Dl +1836 1557 1836 1631 Dl +1840 1557 1836 1631 Dl +1845 1558 1836 1631 Dl +1849 1559 1836 1631 Dl +1854 1560 1836 1632 Dl +(by) 1724 1646 w 10 /LucidaSans-Demi f -(Figure 3) 720 5484 w +(Figure 5) 720 2550 w 10 /LucidaSansUnicode00 f -(: Raster task scheduling.) 1142 5484 w +(: Illustration of a 3:2 viewport.) 1142 2550 w +(July 22, 2024) 2556 7680 w cleartomark showpage saveobj restore -%%EndPage: 2 2 +%%EndPage: 4 4 %%Trailer done -%%DocumentFonts: LucidaSansUnicode20 LucidaSansUnicode00 LucidaSans-Demi LucidaSans-Italic -%%Pages: 2 +%%DocumentFonts: LucidaSansUnicode20 LucidaSansUnicode00 LucidaSans-Demi LucidaSans-Italic LucidaTypewriter +%%Pages: 4 -- cgit v1.2.3