Advanced Texturing: Stupid Texture Tricks

Post on 30-Dec-2015

30 views 0 download

description

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 - PowerPoint PPT Presentation

Transcript of Advanced Texturing: Stupid Texture Tricks

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.