3D Billboards On Windows Phone 7

Billboards are one of the most used “primitives” in rendering, principally in mobile environments where whe dont have GPU power avaliable to render millions of real triangles.

In this post i will show how to implement Cylindric and Spherical billboards using the simple XNA SpriteBatch.

The result is not cool/fast as using shaders, but is more than enough.

To begin, we show our simple class that represents any type of billboard.

public class Billboard3D
        public Billboard3D(Texture2D tex, Vector3 pos, Vector2 scale)
            this.Texture = tex;
            this.Position = pos;
            this.Scale = scale;

        public Vector2 Scale;
        public Texture2D Texture;
        public Vector3 position;

Here we show the code to render the Axial Billboard (Cylindric).
For the example, we constrained it to the Y axis (most common – Vector3.Up), you can change it the way you want. (you can put this as a parameter in Billboard3D class)

            Vector3 position = CAMERA_POSITION;

            foreach (var item in Billboards)
                basicEffect.World = Matrix.CreateConstrainedBillboard(item.Position, position, Vector3.Up, null, null);

                basicEffect.View = activeView;
                basicEffect.Projection = activeProjection;

                spriteBatch.Begin(0, null, null, DepthStencilState.DepthRead, RasterizerState.CullNone, basicEffect);
                spriteBatch.Draw(item.Texture, Vector2.Zero, item.Texture.Bounds, Color.White, 0, new Vector2(item.Texture.Bounds.Center.X, item.Texture.Bounds.Center.Y), item.Scale, SpriteEffects.None, 1);

The basicEffect variable is an instance of the classic XNA Basic Effect class.
The next code shows how to render a Spherical Billboards (will always look to the camera).
There are some magic convertions cause the coordinate space of the basic effect and the SpriteBatch are different.

Matrix invertY = Matrix.CreateScale(1, -1, 1);

            basicEffect.World = invertY;
            basicEffect.View = Matrix.Identity;
            basicEffect.Projection = activeProjection;

            spriteBatch.Begin(0, null, null, DepthStencilState.DepthRead, RasterizerState.CullNone, basicEffect);

            foreach (var item in Billboards)
                Vector3 viewSpaceTextPosition = Vector3.Transform(item.Position, activeView * invertY);
                spriteBatch.Draw(item.Texture, new Vector2(viewSpaceTextPosition.X, viewSpaceTextPosition.Y), item.Texture.Bounds, Color.White, 0, new Vector2(item.Texture.Bounds.Center.X,item.Texture.Bounds.Center.Y), item.Scale, SpriteEffects.None, viewSpaceTextPosition.Z);


There are others ways of drawing billboards on wp7 like creating teh vertices by hand every frame and render using RenderUserPrimitive function.

We always have pros and cons in all approaches, i prefer this =P

This technic can also be used to render Text in 3D, just change the spritebatch draw function to the equivalent draw text function.

, ,

  1. #1 by mk outlet online on 21 de julho de 2017 - 6:35 am

    Thanks for the greet post, I love reading it!
    mk outlet online

  2. #2 by hair bundles on 21 de julho de 2017 - 8:15 am

    I Loved hair bundles https://www.youtube.com/watch?v=koiFnDsfNPU. They may be so adorable and go along with every thing.

  3. #3 by dobroo on 21 de julho de 2017 - 8:26 am

    値下がりは756、変わらずは185材料内閣府1月の機械受注統計によると、民間設備投資の先行指標である「船舶、電力を除く民需」の受注額(季節調整済み)は前月比3.2%減の8379億円だった。   日付 : 2016年 4月 16日 (日) 時間 15:00 ~ 17:00  場所 : DISC-1 店舗ビル 3F イベント会場 : 席指定。 [url=http://designati.altervista.org/xinyi/dvdbox_1/index.html]逃げるは恥だが役に立つ[/url]
    」  「音楽イントロ・クイズ の、ドラマ版をして それなり に 評価されました。 最近、バラエティにも出られて少し性格も見えて・・・ますます好きになりました^^。
    [url=http://enovina.cl/danyou/dvdbox_1/index.html]逃げるは恥だが役に立つ[/url] 四月に入って、子供達が巣立って行き寂しくて心が押しつぶされそうな親御さん。 私「じゃあ取り扱い可能道場帽子は、ファッションや頂きモノで切る機会が少ないなど、アメンバー旅行が老後のスタッフEYです。
    [url=http://www.interexpo.si/wp-content/qiyue/dvdbox_1/index.html]結婚 契約 dvd[/url]
    同じような状況と会話が繰り返されてると言いますか(^^;)というわけで、今回のレポは終了です♪なんか長く書けてるようで書けてないかも・・・。 調べると2011年秋に中国の蘇州にゴルフに行ったがその時に同じホテルに前泊していた。 [url=http://chinese.bacvietluat.vn/shiba/dvdbox_1/index.html]ぼくらの勇気 未満都市 DVD BOX[/url]
    そして、ヨンホが抱える孤独な生い立ちの秘密と、過去の古傷は2人の恋を一筋縄ではいかせない。 「忖度」が問題なのではなく、「財政法違反」が問題なのだ。
    [url=http://exploramondo.altervista.org/grado/dvdbox_1/index.html]韓国 主君 の 太陽[/url] カン・ソラは、ドラマ「町の弁護士チョ・ドゥルホ」以降次期作を検討中である。 ◎キム・ミンジョンがパク・ヘジンの正体を一部知り、誤解することになった。
    [url=http://mapsstores.com/wenday/dvdbox_1/index.html]水曜どうてちょう 通販[/url]

  4. #4 by Moncler Outlet online on 21 de julho de 2017 - 9:40 am

    Your supplement had been at that awesome amount I never idea your good is hence exceptional. It is pretty. Our mother will likely adore that concerning Christmas time day when she starts present and it appearances like I devoted more, and yet pricing is simply awesome!!

  5. #5 by Moncler Outlet on 21 de julho de 2017 - 9:40 am

    Your system ended up being in such a ideal expense I not believe all high quality would be so that exceptional. It’s breathtaking. Your mom can like that on top of Christmas time morning when she opens up gifts and it appears as though I spent a lot more, then again cost is only great!!

  6. #6 by car insurance quotes New Castle PA on 21 de julho de 2017 - 10:41 am

    I cannot tell a lie, that really helped.

  7. #7 by Magdalene Pennywell on 21 de julho de 2017 - 10:48 am

    marketing can be an effective and inexpensive social media solution [2] for your real estate business. With only 140 characters required, Twitter offers a short and

  8. #8 by cheap auto insurance quotes Deland FL on 21 de julho de 2017 - 11:13 am

    Stay with this guys, you’re helping a lot of people.

  9. #9 by خرید اپل ایدی on 21 de julho de 2017 - 11:32 am

    one of our visitors just lately proposed the following website

  10. #10 by php web programming on 21 de julho de 2017 - 12:19 pm

    Wonderful story, reckoned we could combine a number of unrelated data, nevertheless really really worth taking a search, whoa did one learn about Mid East has got more problerms too

  11. #11 by emogevmy on 21 de julho de 2017 - 2:56 pm

    CPUはCeleronやAMDは嫌だ、HDDは大きい方がいい。 祭壇には花で丸い輪が作られ、「ゲゲゲの鬼太郎」「悪魔くん」「河童(かっぱ)の三平」などのパネルを背景に、ほほえむ水木さんの遺影が飾られていました。 [url=http://www.key7jp.com/Office-Mac-Home-Business-2016-52.html]office2016 メディア 購入[/url]
    加工の途中で元に戻したい場合は・・  編集加工中のときは、右上のツールバーが変わりアクティブになります。 購入前にお試し,私たちの試験の質問と回答のいずれかの無料サンプルをダウンロード:/70-247J.htmlNO.1 Contoso 社の開発者は 2 つの Windows Azure サブスクリ プションを 持っていま す。
    [url=http://www.key7jp.com/office2013-home-23.html]office 2013 通販[/url] なお旧Officeにはインストール後に各SP3とセキュリティアップデートを当てています。 USB4つ+外付けハードディスク+マウス=6つのUSB。
    [url=http://www.key7jp.com/microsoft-windows-server2012-r2-7.html]windows sever 2012 プロ&#124 sever 20120;ク&#124 sever 2012 sever 2012;キー[/url]
    購入時には通関のことはあまり書かれておらず、後で高額な請求がきたら?と焦ったが、調べたら携帯とかの個人輸入は関税はなし、消費税だけかかるらしい(これも正確な単価で出すわけじゃなく、大体の区分か何かで請求されるよう)。 ソフトウェアを使って共有する方法両方のコンピューターが同じWi-Fiネットワークにつながっている場合は、簡単なソフトウェアでファイルを転送できます。 [url=http://www.key7jp.com/norton-360-500-41.html]ノートン バイク[/url]
    ⑤ 保存されたメディア作成ツールをダブルクリックします。 以下の内容は、まず様々なコピーガードの簡単な紹介をする。
    [url=http://www.key7jp.com/norton-i-s-1-3-39.html]ノートン ログイン[/url] 本日、Windowsの月例更新がありました。 (1)「ミャンマー スマホ成長期」ミャンマーは急激な経済成長に伴ってスマホが普及し始めている。
    [url=http://www.key7jp.com/category-3-b0-Adobe.html]アドビ 購入[/url]

1 512 513 514
(não será publicado)