This is a repository of code developed and some supplemental material for articles in the journal of graphics tools (JGT), as of Volume 14 known as the "journal of graphics, gpu, & game tools" and Volume 16 on as the "Journal of Graphics Tools." N.b., this journal's title is normally not capitalized, though Taylor & Francis do so on their web pages.
The following articles have related code; look in the corresponding folder by Volume, Number, and last name of the first author for the code itself.
Smith, Alvy Ray, and Eric Ray Lyons, "HWB - A More Intuitive Hue-Based Color Model,"journal of graphics tools, 1(1):3-17, 1996. Code
Mirtich, Brian, "Fast and Accurate Computation of Polyhedral Mass Properties,"journal of graphics tools, 1(2):31-50, 1996. Code
Barzel, Ronen, "Lighting Controls for Computer Cinematography,"journal of graphics tools, 2(1):1-20, 1997. Images and follow-up
Möller, Tomas, and Ben Trumbore, "Fast, Minimum Storage Ray-Triangle Intersection,"journal of graphics tools, 2(1):21-28, 1997. Code
Nelson, Scott R., "High Quality Hardware Line Antialiasing,"journal of graphics tools, 2(1):29-46, 1997. Code
Wong, Tien-Tsin, Wai-Shing Luk and Pheng-Ann Heng, "Sampling with Hammersley and Halton Points,"journal of graphics tools, 2(2):9-24, 1997. Code and executables
Möller, Tomas, "A Fast Triangle-Triangle Intersection Test,"journal of graphics tools, 2(2):25-30, 1997. Code
Shirley, Peter, and Kenneth Chiu, "A Low Distortion Map Between Disk and Square,"journal of graphics tools, 2(3):45-52, 1997. Code
Havran, Vlastimil, Tomas Kopal, Jiří Bittner, and Jiří Žára, "Fast Robust BSP Tree Traversal Algorithm for Ray Tracing,"journal of graphics tools, 2(4):15-23, 1997. Code
Grassia, F. Sebastian, "Practical Parameterization of Rotations Using the Exponential Map,"journal of graphics tools, 3(3):29-48, 1998. Code
Karabassi, Evaggelia-Aggeliki, Georgios Papaioannou, Theoharis Theoharis, and Alexander Boehm, "Intersection Test for Collision Detection in Particle Systems,"journal of graphics tools, 4(1):25-37, 1999. Code
Schmalstieg, Dieter, and Robert F. Tobler, "Fast Projected Area Computation for Three-Dimensional Bounding Boxes,"journal of graphics tools, 4(2):37-43, 1999. Code
Möller, Tomas, and John F. Hughes, "Efficiently Building a Matrix to Rotate One Vector to Another,"journal of graphics tools, 4(4):1-4, 1999. Code
Haines, Eric, "A Shaft Culling Tool,"journal of graphics tools, 5(1):23-26, 2000. Code
Chung, A. J., and A. J. Field, "A Simple Recursive Tessellator for Adaptive Surface Triangulation,"journal of graphics tools, 5(3):1-9, 2000. Code
Haines, Eric, "Soft Planar Shadows Using Plateaus,"journal of graphics tools, 6(1):19-27, 2001. Images
Stam, Jos, "A Simple Fluid Solver Based on the FFT,"journal of graphics tools, 6(2):43-52, 2001. Code
Jin, Xiaogang, Chiew-Lan Tai, Jieqing Feng, and Qunsheng Peng, "Convolution Surfaces for Line Skeletons with Polynomial Weight Distributions,"journal of graphics tools, 6(3):17-28, 2001. Detailed Results
Andersen, Clark R., and William L. Buford, Jr., "The Three-Dimensional Parametric Ellipse,"journal of graphics tools, 6(3):45-48, 2001. Mathematica notebooks and document
Nakamaru, Koji, and Yoshio Ohno, "Enhanced Breadth-First Ray Tracing,"journal of graphics tools, 6(4):13-28, 2001. Detailed Results
Vincent, Stephen, and David Forsey, "Fast and Accurate Parametric Curve Length Computation,"journal of graphics tools, 6(4):29-40, 2001. Code
Sunday, Daniel, "Fast Polygon Area and Newell Normal Computation,"journal of graphics tools, 7(2):9-13, 2002. Code
Ganovelli, Fabio, Frederico Ponchio, and Claudio Rocchini, "Fast Tetrahedron-Tetrahedron Overlap Algorithm,"journal of graphics tools, 7(2):17-26, 2002. Code
Frisken, Sarah F., and Ron Perry, "Simple and Efficient Traversal Methods for Quadtrees and Octrees,"journal of graphics tools, 7(3):1-11, 2002. Code
Steed, Anthony, "Pseudo-Shadowed Cursors for 3D Interaction,"journal of graphics tools, 7(3):19-25, 2002. Code
Low, Kok-Lim, and Adrian Ilie, "Computing a View Frustum to Maximize an Object's Image Area,"journal of graphics tools, 8(1):3-15, 2003. Code
Shen, Hao, Pheng Ann Heng, and Zesheng Tang, "A Fast Triangle-Triangle Overlap Test Using Signed Distances,"journal of graphics tools, 8(1):17-24, 2003. Code
Guigue, Philippe, and Olivier Devillers, "Fast and Robust Triangle-Triangle Overlap Test Using Orientation Predicates,"journal of graphics tools, 8(1):25-32, 2003. Code
Lewiner, Thomas, Hélio Lopes, Antônio Wilson Vieira, and Geovan Tavares, "Efficient Implementation of Marching Cubes' Cases with Topological Guarantees,"journal of graphics tools, 8(2):1-15, 2003. Code, partial tables
Xue, Daqing, and Roger Crawfis, "Efficient Splatting Using Modern Graphics Hardware,"journal of graphics tools, 8(3):1-21, 2003. Code and sample data
Platis, Nikos, and Theoharis Theoharis, "Fast Ray-Tetrahedron Intersection Using Plücker Coordinates,"journal of graphics tools, 8(4):37-48, 2003. Code and sample data
Telea, Alexandru, "An Image Inpainting Technique Based on the Fast Marching Method,"journal of graphics tools, 9(1):23-34, 2004. Code and executable
Mahovsky, Jeffrey, and Brian Wyvill, "Fast Ray-Axis Aligned Bounding Box Overlap Tests with Plücker Coordinates,"journal of graphics tools, 9(1):35-46, 2004. Code
Barbier, Aurélien, and Eric Galin, "Fast Distance Computation Between a Point and Cylinders, Cones, Line-Swept Spheres and Cone-Spheres,"journal of graphics tools, 9(2):11-19, 2004. Code
Wang, Niniane, "Realistic and Fast Cloud Rendering,"journal of graphics tools, 9(3):21-40, 2004. Images and video
Ramsey, Shaun D., Kristin Potter, and Charles Hansen, "Ray Bilinear Patch Intersections,"journal of graphics tools, 9(3):41-47, 2004. Code
Piponi, Dan, "Automatic Differentiation, C++ Templates, and Photogrammetry,"journal of graphics tools, 9(4):41-55, 2004. Code and errata
Williams, Amy, Steve Barrus, R. Keith Morley, and Peter Shirley, "An Efficient and Robust Ray-Box Intersection Algorithm,"journal of graphics tools, 10(1):49-54, 2005. Code [ResearchGate version] (https://www.researchgate.net/publication/220494140_An_Efficient_and_Robust_Ray-Box_Intersection_Algorithm)
Bærentzen, J. Andreas, "Hardware-Accelerated Point Generation and Rendering of Point-Based Impostors,"journal of graphics tools, 10(2):1-12, 2005. Code
Löfstedt, Marta, and Tomas Akenine-Möller, "An Evaluation Framework for Ray-Triangle Intersection Algorithms,"journal of graphics tools, 10(2):13-26, 2005. Code
Reuter, Patrick, Johannes Behr, and Marc Alexa, "An Improved Adjacency Data Structure for Fast Triangle Stripping,"journal of graphics tools, 10(2):41-50, 2005. Code
Nijasure, Mangesh, Sumanta N. Pattanaik, and Vineet Goel, "Real-Time Global Illumination on GPUs,"journal of graphics tools, 10(2):55-71, 2005. Code
Chirkov, Nick, "Fast Line-Segment Triangle Intersection,"journal of graphics tools, 10(3):13-18, 2005. Code
Buss, Samuel R., and Jin-Su Kim, "Selectively Damped Least Squares for Inverse Kinematics,"journal of graphics tools, 10(3):37-49, 2005. Code
Singh, Karan, and Cindy Grimm, "Implementing the IBar Camera Widget,"journal of graphics tools, 10(3):51-64, 2005. Code
Lagae, Ares, and Philip Dutré, "An Efficient Ray-Quadrilateral Intersection Test,"journal of graphics tools, 10(4):23-32, 2005. Code
Mousa, M., R. Chaine, and S. Akkouche, "Direct Spherical Harmonic Transform of a Triangulated Mesh,"journal of graphics tools, 11(2):17-26, 2006. Code
Jones, Thouis R., "Efficient Generation of Poisson-Disk Sampling Patterns,"journal of graphics tools, 11(2):27-36, 2006. Code
Redon, Stephane, and Ming C. Lin, "A Fast Method for Local Penetration Depth Computation,"journal of graphics tools, 11(2):37-50, 2006. Appendix
Kallay, Michael, "Computing the Moment of Inertia of a Solid Defined by a Triangle Mesh,"journal of graphics tools, 11(2):51-57, 2006. Code
Li, Zhong, and Lizhuang Ma, "A Bidirectional Generating Algorithm for Rational Parametric Curves,"journal of graphics tools, 11(3):17-26, 2006. Code
Zuniga, Miguel R., and Jeffrey K. Uhlmann, "Ray Queries with Wide Object Isolation and the DE-Tree,"journal of graphics tools, 11(3):27-45, 2006. Data
Sanderson, Allen R., Robert M. Kirby, Chris R. Johnson, and Lingfa Yang, "Advanced Reaction-Diffusion Models for Texture Synthesis,"journal of graphics tools, 11(3):47-71, 2006. Code
Bernadon, Fábio F., Christian A. Pagot, João L. D. Comba, and Cláudio T. Silva, "GPU-Based Tiled Ray Casting using Depth Peeling,"journal of graphics tools, 11(4):1-16, 2006. Code
Cline, David, Kevin Steele, and Parris Egbert, "Lightweight Bounding Volumes for Ray Tracing,"journal of graphics tools, 11(4):61-71, 2006. Code
Larsson, Thomas, Tomas Akenine-Möller, and Eric Lengyel, "On Faster Sphere-Box Overlap Testing,"journal of graphics tools, 12(1):3-8, 2007. Code
Bradley, Derek, "Adaptive Thresholding using the Integral Image,"journal of graphics tools, 12(2):13-21, 2007. Code
Max, Nelson, and Gerhard Roth, "Hexahedron Projection for Curvilinear Grids,"journal of graphics tools, 12(2):33-45, 2007. Code
Lacewell, Dylan, and Brent Burley, "Exact Evaluation of Catmull-Clark Subdivision Surfaces near B-Spline Boundaries,"journal of graphics tools, 12(3):7-15, 2007. Code
Risser, Eric, Musawir Shah, and Sumanta Pattanaik, "Faster Relief Mapping using the Secant Method,"journal of graphics tools, 12(3):17-24, 2007. Code
Mikkelsen, Morten S., "Separating-Plane Perspective Shadow Mapping,"journal of graphics tools, 12(3):43-54, 2007. Supplements
Hawkins, Amy, and Cindy M. Grimm, "Camera Keyframing using Linear Interpolation of Matrices,"journal of graphics tools, 12(3):55-69, 2007. Code
Grimm, Cindy M., and Bill Niebruegge, "Continuous Cube Mapping,"journal of graphics tools, 12(4):25-34, 2007. Appendix
Eisemann, Martin, Marcus Magnor, Thorsten Grosch, and Stefan Möller, "Fast Ray/Axis-Aligned Bounding Box Overlap Tests using Ray Slopes,"journal of graphics tools, 12(4):35-46, 2007. Code
Hasselgren, Jon, and Tomas Akenine-Möller, "Textured Shadow Volumes,"journal of graphics tools, 12(4):59-72, 2007. Code
Wyman, Chris, and Carsten Dachsbacher, "Reducing Noise in Image-Space Caustics with Variable-Sized Splatting,"journal of graphics tools, 13(1):1-17, 2008. Code
Bavoil, Louis, Steven P. Callahan, and Cláudio T. Silva, "Robust Soft Shadow Mapping with Backprojection and Depth Peeling,"journal of graphics tools, 13(1):19-30, 2008. Code
Frisken, Sarah F., "Efficient Curve Fitting,"journal of graphics tools, 13(2):37-54, 2008. Code
Brodu, Nicolas, "Query Sphere Indexing for Neighborhood Requests,"journal of graphics tools, 13(3):35-51, 2008. Code
Clarberg, Petrik, "Fast Equal-Area Mapping of the (Hemi)Sphere using SIMD,"journal of graphics tools, 13(3):53-68, 2008. Code
McGuire, Morgan, "Efficient, High-Quality Bayer Demosaic Filtering on GPUs,"journal of graphics tools, 13(4):1-16, 2008. Code
Rousseau, Pierre, Vincent Jolivet, and Djamchid Ghazanfarpour, "GPU Rainfall,"journal of graphics tools, 13(4):17-33, 2008. Code
Ruijters, Daniel, Bart M. ter Haar Romeny, and Paul Suetens, "Efficient GPU-Based Texture Interpolation using Uniform B-Splines,"journal of graphics tools, 13(4):61-69, 2008. Code
van Welbergen, Herwin, Job Zwiers, and Zsófia M. Ruttkay, "Real-Time Animation Using a Mix of Physical Simulation and Kinematics", journal of graphics, gpu, & game tools, 14(4):1-21, 2009. Code
Heinly, Jared, Shawn Recker, Kevin Bensema, Jesse Porch, and Christiaan Gribble, "Integer Ray Tracing"journal of graphics, gpu, & game tools, 14(4):31-56, 2009. Code
Strugar, Filip, "Continuous Distance-Dependent Level of Detail for Rendering Heightmaps"journal of graphics, gpu, & game tools, 14(4):57-74, 2009. Code
Eberly, David, "A Fast and Accurate Algorithm for Computing SLERP,"journal of graphics, gpu, & game tools, 15(3):161-176, 2011. Code
Cowan, Brent, and Bill Kapralos, "A GPU-Based Method to Approximate Acoustical Reflectivity", journal of graphics, gpu, & game tools, 15(4):210-215, 2011. Code
McGuire, Morgan, "Efficient Triangle and Quadrilateral Clipping Within Shaders,"journal of graphics, gpu, & game tools, 15(4):216-224, 2011. Code
Olsson, Ola, and Ulf Assarsson, "Tiled Shading,"journal of graphics, gpu, & game tools, 15(4):235-251, 2011. Code
As a courtesy to the authors if possible, please cite their work when you use their code.
Here are the articles where we know we don't have the code. There are others where we don't know if the article even had code; the Wayback Machine has no page stored for some articles. Please let me know if you can provide any code or know who could.
"ERIT: A Collection of Efficient and Reliable Intersection Tests" - code was "available on request," not at JGT site.
"Fast and Accurate Circle-Circle and Circle-Line 3D Distance Computation"
"Observations on Silhouette Sizes" - Spreadsheets; author does not have them. Models used can be found here.
"Efficient Construction of Perpendicular Vectors without Branching"
"Fast and Stable Conformal Mapping Between a Disc and a Square"
"Cylindrical and Toroidal Parameterizations Without Vertex Seams"
Code in this repository is under this form of the MIT License unless otherwise stated:
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
A bibliography organized by technical terms is available from Nelson H. F. Beebe's site; we mirror it here. That site also maintains a list of articles.