Browse Prior Art Database

Method to Support Very Large One-Dimensional Texture Maps

IP.com Disclosure Number: IPCOM000009707D
Publication Date: 2002-Sep-11
Document File: 3 page(s) / 72K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method that uses two-dimensional (2D) texture images to represent one-dimensional (1D) texture maps. Benefits include support for much larger 1D texture maps, with more efficient memory allocation and hardware cache utilization.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 50% of the total text.

Method to Support Very Large One-Dimensional Texture Maps

Disclosed is a method that uses two-dimensional (2D) texture images to represent one-dimensional (1D) texture maps. Benefits include support for much larger 1D texture maps, with more efficient memory allocation and hardware cache utilization.

Background

Texture mapping is a method of applying one image to a rendered polygon or a line. One-dimensional texture maps are commonly used in 3D graphics for representing such things as a color map or a temperature scale. Additionally, the “pattern” for rendering patterned lines can potentially be stored in a 1D texture map.

Current methods for 1D texture mapping do not use a 2D texture map. Therefore, the size of the largest 1D texture map is constrained by the size of the 2D texture map.

General Description

The disclosed method converts a 1D image into a 2D texture map. Figure 1 shows this conversion for a 16-entry 1D texture map, with each entry being a texel.

The texels in the 1D texture map are selected by specifying a float value in the range [0.0, 1.0], where 0.0 represents the left edge of the texel “0”, while 1.0 represents the right edge of texel “F” in Figure 1. The texel that needs to be looked up is generated by the following equation:

                    0.43 x (size of the 1D texture map) = 0.43 x 16 = 6.88

This represents texel “6” in the 1D texture map shown in Figure 1.

To map this into the 2D texture map, multiply the float lookup value by the ratio of the 1D texture map size / 2D texture map size. In this case the ratio is 4. Hence, the x-coordinate float lookup value is:

                    0.43 x 4 = 1.72

Note that the range of the 2D texture map in both directions is only [0.0, 1.0], but that a texture map coordinate has been generated that is outside this range. In a typical hardware implementation, this can be dealt with in a variety of ways. A common solution is a “wrap” behavior, where the digits to the lef...