SlideServe
Menu
Préférences
© SlideServe · v2026

Advanced Texture Techniques Summary from "Stupid Texture Tricks

mandek avatar
8 diapositives · 204 Views · Sep 09, 2014

Learn advanced texturing techniques such as point sprites, billboards, imposters, depth sprites, and multitexturing for optimal rendering of textures. Explore different methods to enhance visual effects in graphics programming.

Advanced Texture Techniques Summary from "Stupid Texture Tricks - slide 1
01 / 8Advanced Texture Techniques Summary from "Stupid Texture Tricks
1 / 17

Télécharger la présentation

Advanced Texture Techniques Summary from "Stupid Texture Tricks
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Advanced Texturing:Stupid Texture Tricks David Luebke University of Virginia

  2. Recap: Point Sprites • A point sprite is a screen-aligned textured quad placed by rendering a single vertex • Ideal for particle systems • When GL_POINT_SPRITE_NV is enabled: • Point antialiasing state ignored – all points  quads • Points are rendered with point width as usual • Tex coords of points can be replaced by special “point sprite” tex coords s,t,r between 0,1 • Tex coord r is special, can set to zero (default) or use to ‘play through’ an animation stored in 3D tex • Enable this with COORD_REPLACE_NV • For hardware acceleration on GF3, set r to 0 (default) and enable coordinate replacement for tex unit 3 only • See http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_point_sprite.txt • See http://www.codesampler.com/oglsrc.htm; search for “point sprite”

  3. Billboards • A point sprite is a certain kind of billboard • Billboards are textured polygons (usually quads) that rotate to face the viewer • Build a rotation matrix for each billboard • Screen-aligned billboard: quad is parallel to the screen and has a constant up vector • Similar to old-school 2D sprites • Useful for text, HUDs, lens flare, etc • Build rotation matrix with camera u, n = -v, r=uXv • World-oriented billboard • Sprite’s native up vector not always appropriate • World-oriented billboard: use the world up vector • Still faces viewer  n = -v, r=uXv

  4. Billboards • Viewpoint-aligned • v = vector to eye (Fig. 8.5) • Resulting quads capture perspective distortions across view-frustum • Ex: clouds (Fig 8.6) • Axially-alligned • Rotates around a fixed world-space axis • Ex: trees (Fig 8.7) • Problem: from above, look like cardboard cutouts

  5. Imposters • An imposter is a billboard created on the fly to “cache” rendered imagery • Once rendered, cost of rendering an imposter is just a single textured quad • Can use for a few frames before updating • Can use for a few instances of the object • Works best on distant objects (why?) • Great example: portal textures • But what’s wrong with this idea?

  6. Depth Sprites • Can render an object with a depth texture, so depth buffer affects and is affected by the rendering (Fig 8.16) • Can also do depth-affected lighting • Needs to be orthogonal or nearly orthogonal to look right • Under the right circumstances, might allow imposters with dynamic geometry • Ex: portal texture with monster moving around in the textured room

  7. Imposters Continued • Depth meshes • UNC MMR system

  8. Multitexturing • Modern hardware can read from multiple textures at once, even with mipmapping • Detail texturing • Light mapping • Bump mapping