Text on a model

Posted by alecnash on Game Development See other posts from Game Development or by alecnash
Published on 2012-10-16T08:57:06Z Indexed on 2012/10/16 17:22 UTC
Read the original article Hit count: 239

Filed under:
|
|
|

I am trying to put some text on a Model and I want it to be dynamic. Did some research and came up with drawing the text on the texture and then set it on the model. I use something like this:

public static Texture2D SpriteFontTextToTexture(SpriteFont font, string text, Color backgroundColor, Color textColor)
{
    Size = font.MeasureString(text);
    RenderTarget2D renderTarget = new RenderTarget2D(GraphicsDevice, (int)Size.X, (int)Size.Y);
    GraphicsDevice.SetRenderTarget(renderTarget);

    GraphicsDevice.Clear(Color.Transparent);

    Spritbatch.Begin();
    //have to redo the ColorTexture
    Spritbatch.Draw(ColorTexture.Create(GraphicsDevice, 1024, 1024, backgroundColor), Vector2.Zero, Color.White);
    Spritbatch.DrawString(font, text, Vector2.Zero, textColor);
    Spritbatch.End();

    GraphicsDevice.SetRenderTarget(null);

    return renderTarget;
}

When I was working with primitives and not models everything worked fine because I set the texture exactly where I wanted but with the model (RoundedRect 3D button). It now looks like that:

Text on a cube

Is there a way to have the text centered only on one side?

© Game Development or respective owner

Related posts about XNA

Related posts about textures