Drawing on a sphere

Hi all!
I am writing a little program that includes the display of a 3D attitude indicator (like this: https://tranquillitybase.files.wordpress.com/2011/12/fdai_cm.jpg but mine will have a digital look)
For simplicity and because I am familiar with it, I tried to use GDI+ (Graphics) for this, but performance is not adequate at all.

I decided to try Monogame because it seems a nice solution for my application.

I used Blender to quickly generate a sphere and I mapped a texture to it, so the basic MG app displays the inner ball properly (I will work on a better texture later on). I am using an orthographic projection.

The points I don’t know how to solve are the following:

  1. I want to draw markers on the textured sphere, like a cross or a circle i.e. on the “required attitude” (at least 6 symbols all the time). How can I do it? I need to draw the marker on a specific position, with a specific rotation and size.
  2. I would like to display the attitude indicator within a WinForms app. Is it possible to do it, maybe including it in a picturebox?

Thank you for your help!

Ok, so after many attempts I finally found how point 1 can be done.

I basically use SpriteBatch to generate the final texture, that will be used on the sphere:

RenderTarget2D allTextures = new RenderTarget2D(GraphicsDevice, Texture1.Width, Texture1.Height);

spriteBatch.Draw(Texture1, new Rectangle(0, 0, Texture1.Width, Texture1.Height), Color.White);
spriteBatch.Draw(Texture2, new Rectangle(30, 50, Texture2.Width, Texture2.Height), Color.White);


allTextures will contain the base texture (Texture1) and then I can draw all the other textures by specifying the position and size. This is just the basic stuff, but then I will have to calculate the actual coordinates and size just to make sure that there is no distortion when allTextures is projected on the sphere.

Any suggestions for point 2?

There are some posts about embedding MG in WinForms on this forum. There is an XNA sample for it that works with MG with some slight modifications. Make sure you use an MG Windows project because that uses WinForms for windowing and makes embedding easier. You can find the XNA sample at http://xbox.create.msdn.com/en-US/education/catalog/sample/winforms_series_1