forked from erich666/GraphicsGems
-
Notifications
You must be signed in to change notification settings - Fork 0
/
AllGems.TOC
687 lines (569 loc) · 26.1 KB
/
AllGems.TOC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
Graphics Gems vol. 1-5
Master Table of Contents
(ver 1.1; June 22, 2000)
Derived from source material created by
David Kirk, Paul Heckbert and Alan Paeth
Notes: some titles have been truncated;
page numbers must be rechecked.
===========================================
Graphics Gems I (Andrew Glassner, Editor)
===========================================
Vol Txt Code Auth Title
1 Preface
1 Introduction
1 Mathematical Notation
1 Pseudo-Code
1 Contributors
1 I. 2D Geometry
1 3 Glassner Useful 2D Geometry
1 12 Trigonometry Summary
1 13 Glassner Useful Trigonometry
1 18 Paeth Trigonometric Functions at Select Points
1 20 Goldman Triangles
1 24 649 Turk Generating Random Points in Triangles
1 29 651 Shapira Fast Line-Edge Intersections on a Uniform Grid
1 37 Anti-Aliasing Summary
1 38 Thompson Area of Intersection: Circle and a Half-Plane
1 40 Thompson Area of Intersection: Circle and a Thick Line
1 43 Thompson Area of Intersection: Two Circles
1 47 Thompson Vertical Distance from a Point to a Line
1 49 654 Paeth A Fast 2D Point-on-line Test
1 51 656 Shaffer Fast Circle-Rectangle Intersection Checking
1 II. 2D Rendering
1 57 Paeth Circles of Integral Radius on Integer Lattices
1 61 657 Heckbert Nice Numbers for Graph Labels
1 64 660 Cychosz Efficient Gen. of Sampling Jitter Using Look-up Tables
1 75 Scan Conversion Summary
1 76 662 Morrison Fast Anti-Aliasing Polygon Scan Conversion
1 84 667 Heckbert Generic Convex Polygon Scan Conversion and Clipping
1 87 681 Heckbert Concave Polygon Scan Conversion
1 92 Wallis Fast Scan Conversion of Arbitrary Polygons
1 98 Line-Drawing Summary
1 99 685 Heckbert Digital Line Drawing
1 101 686 Wyvill Symmetric Double Step Line Algorithm
1 105 690 Thompson Rendering Anti-Aliased Lines
1 107 Ritter An Algorithm for Filling in 2D Wide Line Bevel Joints
1 114 Wallis Rendering Fat Lines on a Raster Grid
1 121 694 Spoelder,Ullings Two-Dimensional Clipping: Vector-Based Approach
1 129 G.Lee,Penk,Wallis Periodic Tilings of the Plane on a Raster Grid
1 III. Image Processing
1 143 Anti-Aliasing Filters Summary
1 144 Pavicic Anti-Aliasing Filters that Minimize "Bumpy" Sampling
1 147 Turkowski Filters for Common Resampling Tasks
1 166 Olsen Smoothing Enlarged Monochrome Images
1 171 711 Paeth Median Finding on a 3-by-3 Grid
1 176 713 Hawley Ordered Dithering
1 179 Paeth A Fast Algorithm for General Raster Rotation
1 196 Schumacher Useful 1-to-1 Pixel Transforms
1 210 Thompson Alpha Blending
1 IV. Frame Buffer Techniques
1 215 Glassner Frame Buffers and Color Maps
1 219 Paeth Reading a Write-Only Write Mask
1 221 715 Morton A Digital "Dissolve" Effect
1 233 718 Paeth Mapping RGB Triples onto Four Bits
1 246 Heckbert What Are the Coordinates of a Pixel?
1 249 719 Paeth Proper Treatment of Pixels as Integers
1 257 Glassner Normal Coding
1 265 720 Heckbert Recording Animation for Progressive Temporal Refinement
1 270 Schumacher 1-to-1 Pixel xforms through Color-Map Manipulation
1 275 721 Heckbert A Seed Fill Algorithm
1 278 Fishkin Filling a Region in a Frame Buffer
1 285 Wallace Precalculating for Fast Fills, Circles, and lines
1 287 Gervautz,Purgathofer Color Quantization by Octree Quantization
1 V. 3D Geometry
1 297 Glassner Useful 3D Geometry
1 301 723 Ritter An Efficient Bounding Sphere
1 304 Goldman Intersection of Two Lines in Three-Space
1 305 Goldman Intersection of Three Planes
1 306 Mapping Summary
1 307 Paeth Digital Cartography for Computer Graphics
1 321 726 Bame Albers Equal-Area Conic Map Projection
1 326 Boxes and Spheres Summary
1 327 Montani,Scopigno Spheres-to-Voxels Conversion
1 335 730 Arvo A Simple Method for Box-Sphere Intersection Testing
1 VI. 3D Rendering
1 343 733 Wyvill 3D Grid Hashing Function
1 346 Hultquist Backface Culling
1 348 M.Lee Fast Dot Products for Shading
1 361 Thompson Scanline Depth Gradient of a Z-Buffered Triangle
1 364 Glassner Simulating Fog and Haze
1 366 Glassner Interpretation of Texture Map Indices
1 376 Glassner Multidimensional Sum Tables
1 VII. Ray Tracing
1 385 Ritter A Simple Ray Rejection Test
1 387 Ray-Object Intersection Summary
1 388 Hultquist Intersection of a Ray with a Sphere
1 390 735 Badouel An Efficient Ray-Polygon Intersection
1 394 A.Woo Fast Ray-Polygon Intersection
1 395 736 A.Woo Fast Ray-Box Intersection
1 397 Pearce Shadow Attenuation for Ray Tracing Transparent Objects
1 VIII. Numerical and Programming Techniques
1 403 Root Finding Summary
1 404 738 Schwarze Cubic and Quartic Roots
1 408 787 Schneider A Bezier Curve-Based Root-Finder
1 416 743 Hook,McAree Using Sturm Sequences to Bracket Roots of Polynomials
1 423 Distance Measures Summary
1 424 756 Lalonde,Dawson A High-Speed, Low Precision Square Root
1 427 758 Paeth A Fast Approximation to the Hypotenuse
1 432 Ritter A Fast Approximation to 3D Euclidean Distance
1 434 Thompson Full-Precision Constants
1 435 Thompson Converting Between Bits and Digits
1 436 Wyvill Storage-free Swapping
1 438 Glassner Generating Random Integers
1 440 Ritter Fast 2D-3D Rotation
1 442 Shoemake Bit Patterns for Encoding Angles
1 443 759 Shaffer Bit Interleaving for Quad- or Octrees
1 448 763 Fishkin A Fast HSL-to-RGB Transform
1 IX. Matrix Techniques
1 453 Thompson Matrix Identities
1 455 Rotation Matrix Methods Summary
1 456 Thompson Transforming Axes
1 460 Thompson Fast Matrix Multiplication
1 462 Hultquist A Virtual Trackball
1 464 765 Raible Matrix Orthogonalization
1 465 Pique Rotation Tools
1 470 766 Carling Matrix Inversion
1 472 Goldman Matrices and Transformations
1 476 770 Cychosz Efficient Post-Concatenation of Transformation Matrices
1 X. Modeling and Transformations
1 485 Greene Transformation Identities
1 494 773 Turkowski Fixed-Point Trigonometry with CORDIC Iterations
1 498 775 Maillot Using Quaternions for Coding 3D Transformations
1 516 778 Cunningham 3D Viewing and Rotation Using Orthonormal Bases
1 522 Turkowski The Use of Coordinate Frames in Computer Graphics
1 533 780 Wallis Forms, Vectors, and Transforms
1 539 Turkowski Properties of Surface-Normal Transformations
1 548 785 Arvo Transforming Axis-Aligned Bounding Boxes
1 551 Constructing Shapes Summary
1 552 Hall Defining Surfaces from Sampled Data
1 558 Hall Defining Surfaces from Contour Data
1 562 Glassner Computing Surface Normals for 3D Models
1 567 Bloomenthal Calculation of Reference Frames along a Space Curve
1 XI. Curves and Surfaces
1 575 Glassner Planar Cubic Curves
1 579 Rasala Explicit Cubic Spline Interpolation Formulas
1 585 Gomez Fast Spline Drawing
1 587 Goldman Some Properties of Bezier Curves
1 594 Wallis Tutorial on Forward Differencing
1 604 Goldman Integration of Bernstein Basis Functions
1 607 787 Schneider Solving the Nearest-Point-on-Curve Problem
1 612 797 Schneider An Algorithm for Automatically Fitting Digitized Curves
1 Appendix I: C Utilities
1 629 Graphics Gems C Header File
1 633 2D and 3D Vector C Library
1 643 Memory Allocation in C
1 644 Two Useful C Macros
1 645 How to Build Circular Structures in C
1 646 How to Use C Register Variables to Point to 2D Arrays
1 Appendix II: C Implementations
1 647 code starts
1 808 References
1 822 Index
1 833 last page
===========================================
Graphics Gems II (James Arvo, Editor)
===========================================
2 Foreword
2 Preface
2 Mathematical Notation
2 Pseudo-Code
2 Contributors
2 I. 2D Geometry and Algorithms
2 3 Introduction
2 5 Rokne The Area of a Simple Polygon
2 7 473 Prasad Intersection of Line Segments
2 10 Morrison Distance from a Point to a Line
2 14 Rokne An Easy Bounding Circle
2 17 Rokne The Smallest Circle Containing Two Circles
2 19 Rokne Appolonius' 10th Problem
2 25 477 Musgrave A Peano Curve Generation Algorithm
2 26 485 Voorhies Space-Filling Curves and a Measure of Coherence
2 31 487 Steinhart Scanline Coherent Shape Algebra
2 II. Image Processing
2 49 Schumacher Image Smoothing and Sharpening by Discrete Convolution
2 57 502 Schumacher A Comparison of Digital Halftoning Techniques
2 72 509 Thomas,Bogart Color Dithering
2 78 Schumacher Fast Anamorphic Image Scaling
2 80 Ward Real Pixels
2 84 514 Yap A Fast 90-Degree Bitmap Rotator
2 86 516 Holt Rotation of Run-Length Encoded Image Data
2 89 Glassner Adaptive Run-Length Encoding
2 93 Paeth Image File Compression Made Easy
2 101 Max An Optimal Filter for Image Reconstruction
2 105 Schlag Noise Thresholding in Edge Images
2 107 525 Bieri,Kohler Area, Circumference, and Genus of a Binary Digital Image
2 III. Frame Buffer Techniques
2 115 Introduction
2 116 528 Thomas Efficient Inverse Color Map Computation
2 126 X.Wu Statistical Computations for Optimal Color Quantization
2 134 536 Musgrave A Random Color Map Animation Algorithm
2 138 Hall,Lindgren A Fast Approach to PHIGS PLUS Pseudo Color
2 143 Paeth Mapping RGB Triples onto 16 Distinct Values
2 147 542 Martindale,Paeth Television Color Encoding and "Hot" Colors
2 159 Meyer An Inexpensive Method of Setting the Monitor White Point
2 163 Musgrave Some Tips for Making Color Hardcopy
2 IV. 3D Geometry and Algorithms
2 169 Introduction
2 170 Goldman Area of Planar Polygons and Volume of Polyhedra
2 172 Shaffer Getting Around on a Sphere
2 174 Paeth Exact Dihedral Metrics for Common Polyhedra
2 179 Glassner A Simple Viewing Geometry
2 181 550 Bogart View Correlation
2 191 Glassner Maintaining Winged-Edge Models
2 202 Montani,Scopigno Quadtree/Octree-to-Boundary Conversion
2 219 563 Maillot 3-D Homogeneous Clipping of Triangle Strips
2 232 571 Thalmann,Thalmann,Minh InterPhong Shading
2 V. Ray Tracing
2 245 Introduction
2 247 575 Haines Fast Ray-Convex Polyhedron Intersection
2 251 577 Cychosz Intersecting a Ray with an Elliptical Torus
2 257 Voorhies,Kirk Ray-Triangle Intersection Using Binary Subdiv.
2 264 Kirk,Arvo Improved Ray Tagging for Voxel-Based Ray Tracing
2 267 Haines Efficient Hierarchy Traversal in Ray Tracing
2 273 581 Pearce A Recursive Shadow Voxel Cache for Ray Tracing
2 275 Pearce Avoiding Incorrect Shadow Intersections for Ray Tracing
2 277 Lee,Uselton A Body Color Model: Absorption through Translucent Media
2 283 Lee,Uselton More Shadow Attenuation for Ray Tracing Translucent Objs
2 VI. Radiosity
2 293 Introduction
2 295 583 Chen Progressive Radiosity with Provided Polygon Display Routines
2 299 Beran-Koehn,Pavicic A Cubic Tetrahedral Hemi-Cube Algorithm
2 303 598 Tampieri Fast Vertex Radiosity Update
2 306 Shirley Radiosity via Ray Tracing
2 311 Sillion Shadow Boundaries for Adaptive Meshing in Radiosity
2 VII. Matrix Techniques
2 319 Introduction
2 320 599 Thomas Decomposing a Matrix into Simple Transformations
2 324 Goldman Recovering the Data from the Transformation Matrix
2 332 Goldman Transformations as Exponentials
2 338 Goldman Matrices and Transforms: Shear and Pseudo-Perspective
2 342 603 K.Wu Fast Matrix Inversion
2 351 Shoemake Quaternions and 4x4 Matrices
2 355 606 Arvo Random Rotation Matrices
2 357 608 Arvo Classifying Small Sparse Matrices
2 VIII. Numerical and Programming Techniques
2 365 Introduction
2 366 Shoemake Bit Picking
2 368 Shoemake Faster Fourier Transform
2 371 610 Paeth,Schilling Of Integers, Fields, and Bit Counting
2 377 Schlag Geometric ... Interpolate Orientation with Quaternions
2 381 Paeth The Joys of the Halved Tangent
2 387 612 Musial An Integer Square Root Algorithm
2 389 Capelli Fast Approximation to the Arctangent
2 392 613 Ritter Fast Sign of Cross Product Calculation
2 394 Shoemake Interval Sampling
2 396 615 Ward A Recursive Implementation of the Perlin Noise Function
2 IX. Curves and Surfaces
2 405 Introduction
2 406 Moore,Warren Least-Squares Approx. to Bezier Curves and Surfaces
2 412 Shoemake Beyond Bezier Curves
2 417 Schlag Curve Interpolation with Variable Control Point Approx.
2 420 Lindgren Symmetric Evaluation of Polynomials
2 424 Seidel Menelaus's Theorem
2 428 Seidel Geometrically Continuous Cubic Bezier Curves
2 435 617 Musial A Good Straight-Line Approximation of a Circular Arc
2 440 Paeth Great Circle Plotting
2 446 X.Wu Fast Anti-Aliased Circle Generation
2 Appendix I: C Utilities
2 455 Graphics Gems C Header File
2 458 2D and 3D Vector C Library -- Corrected and Indexed
2 467 Hollasch Useful C Macros for Vector Operations
2 Appendix II: C Implementations
2 473 code starts
2 621 References
2 635 Index
2 643 last page
===========================================
Graphics Gems III (David Kirk, Editor)
===========================================
3 Foreword
3 Preface
3 Mathematical Notation
3 Pseudo-Code
3 Contributors
3 I. Image Processing
3 4 411 Moller fast bitmap stretching
3 8 414 Schumacher general filtered image rescaling
3 17 425 Schumacher optimization of bitmap scaling operations
3 20 429 Bragg a simple color reduction filter
3 23 Moore,Warren compact isocontours from sampled data
3 29 432 Feldman generating iso-value contours from a pixmap
3 34 Salesin,Barzel compositing black and white bitmaps
3 36 Scofield 2-1/2-d depth of field simulation for computer animation
3 39 441 Furman a fast boundary generator for composited regions
3 II. Numerical & Programming Techniques
3 47 Introduction
3 48 446 Hill IEEE fast square root
3 49 448 Hill A simple fast memory allocator
3 51 452 Hanson the rolling ball
3 61 454 Rokne interval arithmetic
3 67 458 Paeth fast generation of cyclic sequences
3 77 Paeth a generic pixel selection mechanism
3 80 Shirley nonuniform random point sets
3 84 Goldman cross product in 4-dimensions and beyond
3 89 460 Badouel,Wuthrich face connected line segment generation in n-d
3 III. Modeling and Transformations
3 95 Introduction
3 96 461 Morrison quaternion interpolation with extra spins
3 98 Goldman decomposing projective transformations
3 108 Goldman decomposing linear and affine transformations
3 117 463 Arvo fast random rotation matrices
3 121 Dana issues and techniques for keyframing transformations
3 124 465 Shoemake uniform random rotations
3 133 468 Elber interpolation using bezier curves
3 137 472 Barr physically based superquadrics
3 IV. 2D Geometry and Algorithms
3 163 Introduction
3 164 478 VanAken,Simar a parametric elliptical arc algorithm
3 173 480 Rosati a simple connection algorithm for 2d drawing
3 182 487 Srinivasan a fast circle clipping algorithm
3 188 491 Shaffer,Feustel exact computation of 2d intersections
3 193 496 Miller joining two lines with a circular arc fillet
3 199 500 Antonio faster line segment intersection
3 203 Sevici the problem of apollonius and other related problems
3 V. 3D Geometry and Algorithms
3 213 Introduction
3 215 Lopez-Lopez triangles revisited
3 219 502 Chin partitioning a 3d convex polygon with an arbitrary plane
3 223 511 Georgiades signed distance from point to plane
3 225 512 Salesin,Tampieri grouping coplanar polygons into coplanar sets
3 231 517 Tampieri newell's method for the plane equation of a polygon
3 233 519 Georgiades plane to plane intersection
3 236 521 Voorhies triangle-cube intersection
3 240 527 Wanger,Fusco fast n-dimensional extent overlap testing
3 244 534 Moore subdividing simplices
3 250 Moore understanding simploids
3 256 536 Lischinski converting bezier triangles into rectangular patches
3 262 Lindgren,Sanchez,Hall curve tessellation criteria thru sampling
3 VI. Ray Tracing & Radiosity
3 269 Introduction
3 271 538 Sung,Shirley ray tracing with the BSP tree
3 275 547 Cychosz,Waggenspack intersecting a ray with a quadric surface
3 284 Cychosz ... eliminate ray-object intersection calculations
3 288 551 Musgrave a panoramic virtual screen for ray tracing
3 295 555 Trumbore rectangular bounding volumes for popular primitives
3 301 X.Wu a linear time simple bounding volume algorithm
3 307 562 Wang correct direct lighting for distribution ray tracing
3 314 569 Bian Hemispherical Projection of a triangle
3 318 Max,Allison linear rad approx using vertex-to-vertex form factors
3 324 575 Beran-Koehn,Pavicic delta form factor for cubic tetrahedral alg.
3 329 577 Tampieri accurate form factor computation
3 VII. Rendering
3 337 Introduction
3 338 582 Woo the shadow depth map revisited
3 343 583 Cheng fast linear color rendering
3 349 586 Cheng edge and bitmask calculations for antialiasing
3 355 594 Grace fast span conversion: unrolling short loops
3 358 597 Hollasch progressive image refinement via gridded sampling
3 362 599 Fleischer,Salesin poly. scan conversion using half-open intervals
3 366 Glassner darklights
3 369 Glassner anti-aliasing in triangular pixels
3 374 606 Snyder,Barzel,Gabriel motion blur on graphics workstations
3 383 Arvo,Scofield shader cache: a rendering pipeline accelerator
3 C Utilities
3 393 Glassner Graphics Gems C Header File
3 396 Glassner 2-D and 3-D Vector C Library -- Corrected and Indexed
3 405 Hollasch Useful C Macros for Vector Operations
3 Appendix: C Implementations
3 411 code starts
3 611 References
3 625 Index
3 631 last page
===========================================
Graphics Gems IV (Paul Heckbert, Editor)
===========================================
Below is the table of contents for "Graphics Gems IV". This table also
serves as an index to the code in the FTP collection. Note that every
article has text that appears in the book but not in the FTP archive,
and some articles contain no C or C++ code.
file or book chapter title and author
directory chapter
------------------------------------------------------------
I POLYGONS AND POLYHEDRA
centroid.c I.1 Centroid of a Polygon
Gerard Bashein and Paul R. Detmer
convex_test/ I.2 Testing the Convexity of a Polygon
Peter Schorn and Frederick Fisher
ptpoly_weiler/ I.3 An Incremental Angle Point in Polygon Test
Kevin Weiler
ptpoly_haines/ I.4 Point in Polygon Strategies
Eric Haines
delaunay/ I.5 Incremental Delaunay Triangulation
Dani Lischinski
vert_norm/ I.6 Building Vertex Normals from an Unstructured Polygon
List
Andrew Glassner
I.7 Detecting Intersection of a Rectangular Solid and a
Convex Polyhedron
Ned Greene
collide.c I.8 Fast Collision Detection of Moving Convex Polyhedra
Rich Rabbitz
------------------------------------------------------------
II GEOMETRY
II.1 Distance to an Ellipsoid
John C. Hart
dist_fast.c II.2 Fast Linear Approximations of Euclidean Distance in
Higher Dimensions
Yoshikazu Ohashi
outcode/ II.3 Direct Outcode Calculation for Faster Clip Testing
Walt Donovan and Tim Van Hook
sph_poly.c II.4 Computing the Area of a Spherical Polygon
Robert D. Miller
II.5 The Pleasures of `Perp Dot' Products
F. S. Hill, Jr.
II.6 Geometry for N-Dimensional Graphics
Andrew J. Hanson
------------------------------------------------------------
III TRANSFORMATIONS
arcball/ III.1 Arcball Rotation Control
Ken Shoemake
III.2 Efficient Eigenvalues for Visualization
Robert L. Cromwell
inv_fast.c III.3 Fast Inversion of Length- and Angle-Preserving Matrices
Kevin Wu
polar_decomp/ III.4 Polar Matrix Decomposition
Ken Shoemake
euler_angle/ III.5 Euler Angle Conversion
Ken Shoemake
III.6 Fiber Bundle Twist Reduction
Ken Shoemake
------------------------------------------------------------
IV CURVES AND SURFACES
data_smooth/ IV.1 Smoothing and Interpolation with Finite Differences
Paul H. C. Eilers
IV.2 Knot Insertion using Forward Differences
Phillip Barry and Ron Goldman
IV.3 Converting a Rational Curve to a Standard Rational
Bernstein-Bezier Representation
Chandrajit Bajaj and Guoliang Xu
curve_isect/ IV.4 Intersecting Parametric Cubic Curves by Midpoint
Subdivision
R. Victor Klassen
patch_conv.C IV.5 Converting Rectangular Patches into Bezier Triangles
Dani Lischinski
nurb_polyg/ IV.6 Tessellation of NURB Surfaces
John W. Peterson
IV.7 Equations of Cylinders and Cones
Ching-Kuang Shene
implicit.c IV.8 An Implicit Surface Polygonizer
Jules Bloomenthal
------------------------------------------------------------
V RAY TRACING
V.1 Computing the Intersection of a Line and a Cylinder
Ching-Kuang Shene
ray_cyl.c V.2 Intersecting a Ray with a Cylinder
Joseph M. Cychosz and Warren N. Waggenspack, Jr.
vox_traverse.c V.3 Voxel Traversal along a 3D Line
Daniel Cohen
multi_jitter/ V.4 Multi-Jittered Sampling
Kenneth Chiu, Peter Shirley, and Changyaw Wang
minray/ V.5 A Minimal Ray Tracer
Paul S. Heckbert
------------------------------------------------------------
VI SHADING
VI.1 A Fast Alternative to Phong's Specular Model
Christophe Schlick
VI.2 R.E versus N.H Specular Highlights
Frederick Fisher and Andrew Woo
VI.3 Fast Alternatives to Perlin's Bias and Gain Functions
Christophe Schlick
VI.4 Fence Shading
Uwe Behrens
------------------------------------------------------------
VII FRAME BUFFER TECHNIQUES
VII.1 XOR-Drawing with Guaranteed Contrast
Manfred Kopp and Michael Gervautz
VII.2 A Contrast-Based Scalefactor for Luminance Display
Greg Ward
dyn_range/ VII.3 High Dynamic Range Pixels
Christophe Schlick
------------------------------------------------------------
VIII IMAGE PROCESSING
emboss.c VIII.1 Fast Embossing Effects on Raster Image Data
John Schlag
coons_warp.c VIII.2 Bilinear Coons Patch Image Warping
Paul S. Heckbert
convolve.c VIII.3 Fast Convolution with Packed Lookup Tables
George Wolberg and Henry Massalin
thin_image.c VIII.4 Efficient Binary Image Thinning using Neighborhood Maps
Joseph M. Cychosz
clahe.c VIII.5 Contrast Limited Adaptive Histogram Equalization
Karel Zuiderveld
mrsfoley.im VIII.6 Ideal Tiles for Shading and Halftoning
Alan Wm Paeth
------------------------------------------------------------
IX GRAPHIC DESIGN
IX.1 Placing Text Labels on Maps and Diagrams
Jon Christensen, Joe Marks, and Stuart Shieber
graph_layout/ IX.2 Dynamic Layout Algorithm to Display General Graphs
Laszlo Szirmay-Kalos
------------------------------------------------------------
X UTILITIES
trilerp.c X.1 Tri-linear Interpolation
Steve Hill
interp_fast.c X.2 Faster Linear Interpolation
Steven Eker
vec_mat/ X.3 C++ Vector and Matrix Algebra Routines
Jean-Francois Doue
GraphicsGems.c X.4 C Header File and Vector Library
GraphicsGems.h Andrew Glassner and Eric Haines
===========================================
Graphics Gems V (Alan Paeth, Editor)
===========================================
Pg Author(s) Title
-- (Glassner) (Forward)
-- (Paeth) (Preface/Afterword)
1 I. Algebra and Arithmetic
3 Herbison-Evans Solving Quartics and Cubics for Graphics
16 Turkowski Computing the Inverse Square Root
22 Turkowski Fixed Point Square Root
25 Shoemake Rational Approximation
33 II. Computational Geometry
35 Van Gelder Efficient Computation of Polygon Area and Polyhedron Volume
42 Carvalho/Cavalcanti Point in Polyhedron Testing using Spherical Polygons
50 Glassner Clipping a Concave Polygon
55 Hanson Rotations for N-dimensional Graphics
65 Buckley Parallelohedra and Uniform Color Quantization
72 Hill Matrix-based Ellipse Geometry
78 Paeth Distance Approximations and Bounding Polyhedra
89 III. Modeling and Transformation
91 Alciatore/Miranda The Best Least-Squares Line Fit
98 Hill/Roberts Surface Models and the Resolution of n-Dim. Cell Ambiguity
107 Arata Tri-cubic Interpolation
111 Miller Transforming Coordinates from One Coordinate Plane to Another
121 Chin A Walk Through BSP Trees
139 Blanc Generic Implementation of Axial Deformation Techniques
147 IV. Curves and Surfaces
149 Goldman Identities for the Univariate, Bivariate Bernstein Basis Fcns
163 Goldman Identities for the B-Spline Basis Functions
168 Turkowski Circular Arc Subdivision
173 de Figueiredo Adaptive Sampling of Parametric Curves
179 Ahn Fast Generation of Ellipsoids
191 Bajaj/Xu Sparse Smooth Connection between Bezier/B-Spline Curves
199 Gravesen The Length of Bezier Curves
206 Miller Quick and Simple Bezier Curve Drawing
210 Shoemake Linear Form Curves
225 V. Ray Tracing and Radiosity
227 Shene Computing the Intersection of a Line and a Cone
232 Schlick/Subrenat Ray Intersection of Tessellated Surfaces: Quad vs Triangle
242 Moller Faster Raytracing using Scanline Rejection
258 Leipelt Ray Tracing a Swept Sphere
268 Marton Acceleration of Ray Tracing via Voronoi-diagrams
285 Zimmerman Direct Lighting Models for Ray Tracing with Cylindrical Lamps
290 Feda Improving Intermediate Radiosity using Directional Light
295 VI. Halftoning and Image Processing
297 Purgathofer/Tobler/Geiler Improved Threshold Matrices for Ordered Dithering
302 Wong/Hsu Halftoning with Selective Precipitation & Adaptive Clustering
314 Eker Faster Pixel-Perfect Line Clipping
323 Doue/Rubio Efficient and Robust 2D Shape Vectorization
338 Hsu/Lee Reversable Straight Line Edge Reconstruction
355 Sharma Priority-based Adaptive Image Refinement
359 Cross Sampling Patterns Optimized for Uniform Distribution of Edges
365 VII. Utilities
367 Schlick Wave Generators for Computer Graphics
375 Green/Hatch Fast Polygon-Cube Intersection Testing
380 Bouma/Vanecek Velocity-based Collision Detection
386 Vanecek Spatial Partitioning of a Polygon by a Plane
394 Narkhede/Manocha Fast Polygon Triangulation based on Seidel's Algorithm
398 Karinthi Accurate Z-buffer Rendering
400 Paeth (et al) A Survey of Graphics Libraries