Skip to main content

History: -Billboard

Source of version: 18

Copy to clipboard
            {INCLUDE(page="ogrelex ext tpl")/}
---
__Billboard__ - A flat square polygon (2 triangles) for high speed displaying of 2D ((-Texture|textures)). Mostly the face points to the ((-Camera|camera)). Often it's also called  ''__sprite__'', although this not right in historical context (see [http://en.wikipedia.org/wiki/Sprite_%28computer_graphics%29|Wikipedia article] and [http://en.wikipedia.org/wiki/Commodore_64#Graphics|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

{img fileId="1937" alt="" rel="box[g]" imalign="right" desc=""  class="clearRight"}

On right side is an example usage (from the Ogre game [http://www.ogre3d.org/forums/viewtopic.php?f=11&t=60238|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|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|texture)). (But this would be slower, when you need to update its size/position for each frame.)

 


{TRANSCLUDE(page="seebox")}
* ((OogstsHowTo|#How to add a billboard sprite to the scene|Example)) how to add to a scene
* ((MOGRE MovableText by Billboards)) - shows text, clamped to a SceneNode
* [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=8987&p=52291#p52291|Example] for ((MOGRE|Mogre))
* ((LightsCameraAction|#Billboards and Materials|Billboards, Materials and Lights))
* [http://www.ogre3d.org/docs/api/1.9/class_ogre_1_1_billboard.html|Billboard] Class Reference in API
* [http://www.ogre3d.org/docs/api/1.9/class_ogre_1_1_billboard_set.html|BillboardSet] Class Reference in API
* ((SpriteManager2d)) | ((MOGRE SpriteManager2d)) - code snippet
* An advanced description is in the book ''Pro OGRE 3D Programming'' (ISBN 1-59059-710-9)
* ((OgreSprites)) - similar, but without use of ''Billboard''
* ((MovableText)) | ((MOGRE MovableText)) | ((MovableTextOverlay)) - similar, but only for text
* ((ManualObject 2D))
* ((-Overlay|Overlay))
* [http://en.wikipedia.org/wiki/2.5D|2.5D] graphics at Wikipedia
* [http://msdn.microsoft.com/en-us/library/bb172358%28VS.85%29.aspx|Billboarding (Direct3D 9)] at MSDN
* ((Projective Decals)) - render an additional texture layer to a 3D model
* ((ObjectTextDisplay)) - Displaying 3D Object Text in 2D Without Using Billboards
{TRANSCLUDE}

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

        

History

Information Version
Wed 17 of Jun, 2020 22:12 GMT-0000 sercero 19
Thu 31 of Mar, 2016 14:04 GMT-0000 hyyou 18
Thu 31 of Mar, 2016 14:02 GMT-0000 hyyou 17
Tue 09 of Aug, 2011 21:34 GMT-0000 IgnisInCaelum Grammar correction 16
Mon 14 of Mar, 2011 13:26 GMT-0000 Beauty added link to "ObjectTextDisplay" 15
Fri 24 of Sep, 2010 10:50 GMT-0000 Beauty added overview of billboard types + added sections 14
Fri 24 of Sep, 2010 10:29 GMT-0000 Beauty added link about C64 sprites + link for ((Projective Decals)) 13
Thu 23 of Sep, 2010 13:24 GMT-0000 Beauty added links + example picture + technique notes 12
Wed 25 of Aug, 2010 07:08 GMT-0000 sarcacid fixed first 'Example' link 11
Thu 22 of Jul, 2010 19:26 GMT-0000 spacegaier 10
Sat 05 of Jun, 2010 16:34 GMT-0000 jacmoe 9
Mon 17 of May, 2010 14:55 GMT-0000 jacmoe 8
Sun 16 of May, 2010 22:24 GMT-0000 jacmoe 7
Sun 16 of May, 2010 22:24 GMT-0000 jacmoe 6
Sun 16 of May, 2010 22:20 GMT-0000 jacmoe 5
Thu 07 of Jan, 2010 23:34 GMT-0000 jacmoe 4
Thu 07 of Jan, 2010 23:20 GMT-0000 jacmoe 3
Tue 29 of Dec, 2009 09:20 GMT-0000 jacmoe 2
Sun 14 of Jun, 2009 14:07 GMT-0000 Beauty added link 1