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.