Eric Haines - Academia.edu (original) (raw)
Papers by Eric Haines
Ray Tracing Gems, 2019
We define a ray, show how to use ray intervals, and demonstrate how to specify a ray using Direct... more We define a ray, show how to use ray intervals, and demonstrate how to specify a ray using DirectX Raytracing (DXR). 2.1 MATHEMATICAL DESCRIPTION OF A RAY
The traditional quadratic formula is often presented as the way to compute the intersection of a ... more The traditional quadratic formula is often presented as the way to compute the intersection of a ray with a sphere. While mathematically correct, this factorization can be numerically unstable when using floating-point arithmetic. We give two little-known reformulations and show how each can improve precision.
Journal of Graphics Tools, 1996
This article presents algorithms which both improve performance and decrease memory costs when us... more This article presents algorithms which both improve performance and decrease memory costs when using a Z-buffer for medium-quality rendering. The crux of the method is to perform rendering in two passes; the first quickly renders only Z-depth values, the second does all shading calculations. This method allows the reuse of memory used to store the Z-depths and colors, as only
Journal of Graphics Tools, 2000
Shaft culling is a means to accelerate the testing of visibility between two objects. This paper ... more Shaft culling is a means to accelerate the testing of visibility between two objects. This paper briefly describes an algorithm for shaft culling and various implementation options. The entire code and test harness for the algorithm is available online.
Real-Time Rendering, Third Edition
Ray Tracing Gems
This chapter provides background information and definitions for terms used throughout this book.... more This chapter provides background information and definitions for terms used throughout this book. 1.1 HISTORICAL NOTES Ray tracing has a rich history in disciplines that track the movement of light in an environment, often referred to as radiative transfer. Graphics practitioners have imported ideas from fields such as neutron transport [2], heat transfer [6], and illumination engineering [11]. Since so many fields have studied these concepts, terminology evolves and sometimes diverges between and within disciplines. Classic papers may then appear to use terms incorrectly, which can be confusing. The fundamental quantity of light moving along a ray is the SI unit spectral radiance, which remains constant along a ray (in a vacuum) and often behaves intuitively like the perceptual concept brightness. Before the term was standardized, spectral radiance was often called "intensity" or "brightness." In computer graphics we usually drop "spectral," as non-spectral radiance, a bulk quantity over all wavelengths, is never used. Graphics-specific terminology related to rays has evolved over time. Almost all modern ray tracers are recursive and Monte Carlo; few now bother to call their renderer a "recursive Monte Carlo" ray tracer. In 1968, Appel [1] used rays to render images. In 1979, Whitted [16] and Kay and Greenberg [9] developed recursive ray tracing to depict accurate refraction and reflection. In 1982, Roth [13] used inside/outside interval lists along rays, as well as local instancing, to create renderings (and volume estimates) of CSG models.
Real-Time Rendering, Third Edition
The ACM Symposium on Solid and Physical Modeling and Applications is an annual international foru... more The ACM Symposium on Solid and Physical Modeling and Applications is an annual international forum for the exchange of recent research results and applications of spatial modeling and computations in design, analysis and manufacturing, as well as in emerging biomedical, geophysical and other areas. Previous symposia in this series were held in Austin, Texas, 1991; Montreal, Canada, 1993; Salt Lake City, Utah, 1995; Atlanta, Georgia, 1997; Ann Arbor, Michigan in 1999 and 2001; Saarbrucken, Germany, 2002; Seattle, Washington, 2003; Genova, Italy, 2004, Cambridge, Massachusetts, 2005; Cardiff, Wales, United Kingdom, 2006; and Beijing, China, 2007. For additional information, please visit www.solidmodeling.org, the home page of The Solid Modeling Association that oversees this symposium series. The SPM symposium series started initially with the name "ACM Symposium on Solid Modeling and Applications." To emphasize the fact that solid modeling entails not only handling their ge...
We will use WebGL 1.0. WebGL 2.0 is now being supported by most browsers but requires a better GP... more We will use WebGL 1.0. WebGL 2.0 is now being supported by most browsers but requires a better GPU so may not run on older computers or on most cell phones and tablets. See http://webglstats.com/. We will note some of the new features supported by WebGL 2.0 at the end of the course. three.js is starting to support WebGL 2.0.
An Introduction to Ray Tracing, Jul 1, 1989
Ray Tracing Gems, 2019
We define a ray, show how to use ray intervals, and demonstrate how to specify a ray using Direct... more We define a ray, show how to use ray intervals, and demonstrate how to specify a ray using DirectX Raytracing (DXR). 2.1 MATHEMATICAL DESCRIPTION OF A RAY
The traditional quadratic formula is often presented as the way to compute the intersection of a ... more The traditional quadratic formula is often presented as the way to compute the intersection of a ray with a sphere. While mathematically correct, this factorization can be numerically unstable when using floating-point arithmetic. We give two little-known reformulations and show how each can improve precision.
Journal of Graphics Tools, 1996
This article presents algorithms which both improve performance and decrease memory costs when us... more This article presents algorithms which both improve performance and decrease memory costs when using a Z-buffer for medium-quality rendering. The crux of the method is to perform rendering in two passes; the first quickly renders only Z-depth values, the second does all shading calculations. This method allows the reuse of memory used to store the Z-depths and colors, as only
Journal of Graphics Tools, 2000
Shaft culling is a means to accelerate the testing of visibility between two objects. This paper ... more Shaft culling is a means to accelerate the testing of visibility between two objects. This paper briefly describes an algorithm for shaft culling and various implementation options. The entire code and test harness for the algorithm is available online.
Real-Time Rendering, Third Edition
Ray Tracing Gems
This chapter provides background information and definitions for terms used throughout this book.... more This chapter provides background information and definitions for terms used throughout this book. 1.1 HISTORICAL NOTES Ray tracing has a rich history in disciplines that track the movement of light in an environment, often referred to as radiative transfer. Graphics practitioners have imported ideas from fields such as neutron transport [2], heat transfer [6], and illumination engineering [11]. Since so many fields have studied these concepts, terminology evolves and sometimes diverges between and within disciplines. Classic papers may then appear to use terms incorrectly, which can be confusing. The fundamental quantity of light moving along a ray is the SI unit spectral radiance, which remains constant along a ray (in a vacuum) and often behaves intuitively like the perceptual concept brightness. Before the term was standardized, spectral radiance was often called "intensity" or "brightness." In computer graphics we usually drop "spectral," as non-spectral radiance, a bulk quantity over all wavelengths, is never used. Graphics-specific terminology related to rays has evolved over time. Almost all modern ray tracers are recursive and Monte Carlo; few now bother to call their renderer a "recursive Monte Carlo" ray tracer. In 1968, Appel [1] used rays to render images. In 1979, Whitted [16] and Kay and Greenberg [9] developed recursive ray tracing to depict accurate refraction and reflection. In 1982, Roth [13] used inside/outside interval lists along rays, as well as local instancing, to create renderings (and volume estimates) of CSG models.
Real-Time Rendering, Third Edition
The ACM Symposium on Solid and Physical Modeling and Applications is an annual international foru... more The ACM Symposium on Solid and Physical Modeling and Applications is an annual international forum for the exchange of recent research results and applications of spatial modeling and computations in design, analysis and manufacturing, as well as in emerging biomedical, geophysical and other areas. Previous symposia in this series were held in Austin, Texas, 1991; Montreal, Canada, 1993; Salt Lake City, Utah, 1995; Atlanta, Georgia, 1997; Ann Arbor, Michigan in 1999 and 2001; Saarbrucken, Germany, 2002; Seattle, Washington, 2003; Genova, Italy, 2004, Cambridge, Massachusetts, 2005; Cardiff, Wales, United Kingdom, 2006; and Beijing, China, 2007. For additional information, please visit www.solidmodeling.org, the home page of The Solid Modeling Association that oversees this symposium series. The SPM symposium series started initially with the name "ACM Symposium on Solid Modeling and Applications." To emphasize the fact that solid modeling entails not only handling their ge...
We will use WebGL 1.0. WebGL 2.0 is now being supported by most browsers but requires a better GP... more We will use WebGL 1.0. WebGL 2.0 is now being supported by most browsers but requires a better GPU so may not run on older computers or on most cell phones and tablets. See http://webglstats.com/. We will note some of the new features supported by WebGL 2.0 at the end of the course. three.js is starting to support WebGL 2.0.
An Introduction to Ray Tracing, Jul 1, 1989