Advanced Texturing:
Stupid Texture Tricks
David Luebke
University of Virginia
Recap
A point sprite is a screen-aligned textured
quad placed by rendering a single vertex
A billboard is a textured (usually) quad that
(usually) rotates to face the viewer
– Performer demo, Far Cry demo
– Billboard clouds
An imposter is a billboard created on the fly
to “cache” rendered imagery
– Sometimes also refers to just a textured LOD
Recap
A depth texture affects and is
affected by the depth buffer
– NV_DEPTH_TEXTURE demo
Imposters Continued
Depth meshes
– UNC MMR system
– Imposters for urban environments
Billboards cont.
Can represent an entire object with just
billboards!
– Common trick for trees
– Billboard clouds apply idea to other (all)
objects
– Trick is to compute these automatically…
Multitexturing
Modern hardware can read from multiple
textures at once, even with mipmapping
Detail texturing
Light mapping
Bump mapping
Textures:
Other Important Stuff
Render to texture
Environment maps
– Simplest approach: sphere map
– Hardware supports cube maps
Shadow maps
– Basically, a depth texture from the point of
view of a light source
– More later
Textures:
Still More Stuff
Normal maps
– Gloss maps, reflectance maps, etc
Generally:
– Think of textures as global memory for
fragment programs, w/ built-in filtering
– Soon (next-gen hardware) will be able to
access textures in vertex programs too
Deferred shading
Projective texture mapping
Next topic: Cg
Many of the tricks we discuss in this class
do not depend on programmable graphics
hardware
But, most are easier to implement this
way!
So, the next topic is a brief intro to Cg
– My apologies to those of you who’ve seen this
– My apologies to those of you who haven’t.