PERFORMING A TEXTURE LEVEL-OF-DETAIL APPROXIMATION
A method, computer readable medium, and system are disclosed for performing a texture level-of-detail approximation. The method includes the steps of identifying a scene to be rendered, projecting a ray passing through a pixel of a screen space, resulting in a first hit point at a geometry element within the scene, determining a footprint angle of the pixel, determining a curvature measure for the geometry element at the first hit point within the scene, computing a texture level of detail (LOD) approximation for a component of the scene, utilizing the footprint angle of the pixel and the curvature measure for the geometry element, and performing, utilizing a hardware processor, one or more rendering operations for the scene, utilizing the texture LOD approximation.
1 . A method comprising:
identifying a scene to be rendered;
projecting a ray passing through a pixel of a screen space, resulting in a first hit point at a geometry element within the scene;
determining a footprint angle of the pixel;
determining a curvature measure for the geometry element at the first hit point within the scene;
computing a texture level of detail (LOD) approximation for a component of the scene, utilizing the footprint angle of the pixel and the curvature measure for the geometry element; and
performing, utilizing a hardware processor, one or more rendering operations for the scene, utilizing the texture LOD approximation.
2 . The method of claim 1 , wherein the LOD approximation is used to estimate a size of a texture footprint for a second hit point.
3 . The method of claim 1 , wherein the component includes a recursive reflection.
4 . The method of claim 1 , wherein the component includes a recursive refraction.
5 . The method of claim 1 , wherein the component includes a reflection.
6 . The method of claim 1 , wherein the component includes a refraction.
7 . The method of claim 1 , wherein the footprint angle includes a spread angle that models a spread of a pixel in radians, and the curvature measure is used to determine an additional spread of the pixel induced by a curvature at the first hit point.
8 . The method of claim 1 , wherein determining the curvature measure includes negating the curvature measure when the geometry element is concave.
9 . The method of claim 1 , wherein performing the one or more rendering operations includes performing one or more texturing operations.
10 . The method of claim 1 , wherein performing the one or more rendering operations includes performing one or more mipmapping operations, utilizing the texture LOD approximation.
11 . The method of claim 1 , wherein performing the one or more rendering operations includes determining a plurality of mipmapped reflections, utilizing the texture LOD approximation.
12 . The method of claim 1 , further comprising, when the component includes a recursive reflection or a recursive refraction:
determining a projected footprint at the first hit point;
transporting the projected footprint from the first hit point to a second hit point; and
using a size of the projected footprint as the texture LOD approximation for the component at the second hit point.
13 . A system comprising:
a processor that is configured to:
identify a scene to be rendered;
project a ray passing through a pixel of a screen space, resulting in a first hit point at a geometry element within the scene;
determine a footprint angle of the pixel;
determine a curvature measure for the geometry element at the first hit point within the scene;
compute a texture level of detail (LOD) approximation for a component of the scene, utilizing the footprint angle of the pixel and the curvature measure for the geometry element; and
perform, utilizing a hardware processor, one or more rendering operations for the scene, utilizing the texture LOD approximation.
14 . The system of claim 13 , wherein the LOD approximation is used to estimate a size of a texture footprint for a second hit point.
15 . The system of claim 13 , wherein the component includes a recursive reflection.
16 . The system of claim 13 , wherein the component includes a recursive refraction.
17 . The system of claim 13 , wherein the component includes a reflection.
18 . The system of claim 13 , wherein the component includes a refraction.
19 . The system of claim 13 , wherein the processor is further configured to, when the component includes a recursive reflection or a recursive refraction:
determine a projected footprint at the first hit point;
transport the projected footprint from the first hit point to a second hit point; and
use a size of the projected footprint as the texture LOD approximation for the component at the second hit point.
20 . A computer-readable storage medium storing instructions that, when executed by a processor, causes the processor to perform steps comprising:
identifying a scene to be rendered;
projecting a ray passing through a pixel of a screen space, resulting in a first hit point at a geometry element within the scene;
determining a footprint angle of the pixel;
determining a curvature measure for the geometry element at the first hit point within the scene;
computing a texture level of detail (LOD) approximation for a component of the scene, utilizing the footprint angle of the pixel and the curvature measure for the geometry element; and
performing one or more rendering operations for the scene, utilizing the texture LOD approximation.