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.