HP Visualize c160L Overview of the Visualize fx graphics - Page 5

Fast Virtual Texturing

Page 5 highlights

Fast Virtual Texturing Texture mapping, which is wrapping a picture over a three dimensional object, has been used over the years as a key feature to enhance photorealism, reduce data set sizes, perform visual analysis, and aid in simulations (see Figure 1). Since texturing calculations are computationally expensive and memory access for large textures can be prohibitively slow, various workstation graphics vendors have provided hardware-accelerated texture mapping as a key differentiator for their product. A primary drawback of these attempts at hardware acceleration is that dedicated local hardware texture memory is limited Figure 1 A 3D textured skull. The VISUALIZE fx4 and fx6 subsystems support a texture map acceleration option. Pictured here is the use of 3D texture mapping OpenGL extensions with this option. This feature allows visualization of 3D data sets such as MRI images. in size and is expensive. To take advantage of the performance boost, graphics applications were constrained to textures that fit in the local hardware texture memory. In other words, the application was responsible for managing this hardware resource. Noticing this obvious artificial application limitation in texturing functionality, performance, and portability, Hewlett-Packard introduced, in the VISUALIZE-48, a new concept in hardware texture mapping called virtual texture mapping. Virtual texture mapping uses the dedicated local hardware texture memory as a true texture cache, swapping in and out of the cache the portions of textures that are needed for rendering a 3D image. Thus, for texturing applications, these limitations were eliminated. The application could define and use a texture map of any size (up to a theoretical limit of 32K texels × 32K texels*) that would be hardware accelerated, eliminating the need for the application to be responsible for managing local texture memory. Using the local hardware texture memory as a cache also means that this memory uses only the portions of the texture maps needed to render the image. This efficiency translates to more and larger texture maps being hardware accelerated at the same time. Applications that previously could not run because of texture size limits can now run because of the unlimited virtual texture size. Also, with only the used portions of the texture map being downloaded to the cache, far less graphics bus traffic occurs. The system design of virtual texture mapping involved changes in the HP-UX operating system to support graphics interrupts, onboard firmware support for these interrupts, the introduction of an asynchronous texture interrupt managing daemon process, and the associated texturing hardware described in this *A texel is one element of a texture. The output of the geometry chip's daisy chain is passed back through the interface chip. Generally, for triangle based primitives, the output takes the form of plane equations. As these floating-point plane equations are returned from the geometry chip to the interface chip and passed on to the texture chips, certain addressed locations in the interface chip will result in the floating-point values being converted to fixed-point values as they pass through. These fixed-point values are in a form the raster chips need to rasterize the primitive. The daisy-chain design allows up to eight of the geometry chips to be used although only three are applied in the case of the VISUALIZE fx6 product at this time. Article 4 • © 1998 Hewlett Packard Company 32 May 1998 • The Hewlett-Packard Journal

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

32
May 1998
The Hewlett-Packard Journal
Article 4
1998 Hewlett Packard Company
Fast Virtual Texturing
Texture mapping, which is wrapping a picture over a three
dimensional object, has been used over the years as a key
feature to enhance photorealism, reduce data set sizes, per-
form visual analysis, and aid in simulations (see
Figure 1
).
Since texturing calculations are computationally expensive
and memory access for large textures can be prohibitively
slow, various workstation graphics vendors have provided
hardware-accelerated texture mapping as a key differentiator
for their product.
A primary drawback of these attempts at hardware accelera-
tion is that dedicated local hardware texture memory is limited
Figure 1
A 3D textured skull. The VISUALIZE fx
4
and fx
6
subsystems
support a texture map acceleration option. Pictured here
is the use of 3D texture mapping OpenGL extensions with
this option. This feature allows visualization of 3D data
sets such as MRI images.
in size and is expensive. To take advantage of the perfor-
mance boost, graphics applications were constrained to tex-
tures that fit in the local hardware texture memory. In other
words, the application was responsible for managing this
hardware resource.
Noticing this obvious artificial application limitation in texturing
functionality, performance, and portability, Hewlett-Packard
introduced, in the VISUALIZE-48, a new concept in hardware
texture mapping called
virtual texture mapping
. Virtual texture
mapping uses the dedicated local hardware texture memory
as a true texture cache, swapping in and out of the cache the
portions of textures that are needed for rendering a 3D image.
Thus, for texturing applications, these limitations were elimi-
nated. The application could define and use a texture map of
any size (up to a theoretical limit of 32K texels
×
32K texels
*
)
that would be hardware accelerated, eliminating the need for
the application to be responsible for managing local texture
memory.
Using the local hardware texture memory as a cache also
means that this memory uses only the portions of the texture
maps needed to render the image. This efficiency translates
to more and larger texture maps being hardware accelerated
at the same time. Applications that previously could not run
because of texture size limits can now run because of the
unlimited virtual texture size. Also, with only the used por-
tions of the texture map being downloaded to the cache, far
less graphics bus traffic occurs.
The system design of virtual texture mapping involved changes
in the HP-UX operating system to support graphics interrupts,
onboard firmware support for these interrupts, the introduction
of an asynchronous texture interrupt managing daemon pro-
cess, and the associated texturing hardware described in this
*A texel is one element of a texture.
The output of the geometry chip’s daisy chain is passed
back through the interface chip. Generally, for triangle
based primitives, the output takes the form of plane equa-
tions. As these floating-point plane equations are returned
from the geometry chip to the interface chip and passed
on to the texture chips, certain addressed locations in the
interface chip will result in the floating-point values being
converted to fixed-point values as they pass through.
These fixed-point values are in a form the raster chips
need to rasterize the primitive.
The daisy-chain design allows up to eight of the geometry
chips to be used although only three are applied in the
case of the VISUALIZE fx
6
product at this time.