-Billboard         The use of sprites in a 3D environment

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0-9


Billboard - A flat square polygon (2 triangles) for high speed displaying of 2D textures. Mostly the face points to the camera. Often it's also called sprite, although this not right in historical context (see Wikipedia article and sprites on C64).

To make one, you first have to make a BillboardSet. Then, the billboards can be added to it on a given position. The BillboardSet is a {LEX()}MovableObject{LEX} and should therefore be added to a {LEX()}SceneNode{LEX}.

Billboards can be used e.g. to create a {LEX()}HUD{LEX} (heads up display) for characters.


Types of Billboard:

  • BBT_POINT:
    Standard point billboard (default), always faces the camera completely and is always upright

  • BBT_ORIENTED_COMMON:
    Billboards are oriented around a shared direction vector (used as Y axis) and only rotate around this to face the camera

  • BBT_ORIENTED_SELF:
    Billboards are oriented around their own direction vector (their own Y axis) and only rotate around this to face the camera

  • BBT_PERPENDICULAR_COMMON:
    Billboards are perpendicular to a shared direction vector (used as Z axis, the facing direction) and X, Y axis are determined by a shared up-vertor

  • BBT_PERPENDICULAR_SELF:
    Billboards are perpendicular to their own direction vector (their own Z axis, the facing direction) and X, Y axis are determined by a shared up-vertor


Example


This image shows a billboard which is used as marker and rendered parallel to the terrain surface (instead of pointing to the camera).

On right side is an example usage (from the Ogre game APOX).

A billboard used for a green circle marker. The face doesn't point to the camera - the billboard is parallel to the terrain. It's not rendered on top (behind the helicopter model). For this the RenderQueue was modified and maybe some material settings were changed (Depth Check ON/OFF, Depth Write ON/OFF, etc.). The usage of billboards supports high performance. An alternative would be to use Projective Decals which renders an additional layer to a texture. (But this would be slower, when you need to update its size/position for each frame.)



See Also
see_also.jpg


{WIKIPEDIA(page="Sprite (computer graphics)")/}