First of all, a lack of custom shaders does not imply that you cannot draw with raw vertices/indices. In fact you can on WP7. What it implies is that you cannot control raw pixel output (pixel shader), or write code that changes each individual vertex's projection mapping to the screen (vertex shader). There are other kinds of shaders too at various stages of the entire pipeline, but none of them have anything to do with telling the graphics card which vertices & indices to use. You do that yourself in your game code. In fact they (or rather, data taken from them down the chain) are used as inputs to shaders (among other things).
That said, you can still generate vertices yourself, in game code. And even manipulate them too if you wish, to a certain degree. Doesn't require any shaders to generate vertices & indices and draw them raw, even on WP7. Do not use Model
for this; that's overkill.
You can use GetData
on your texture to get its color values, and simply generate an array of vertices (VertexPositionColor
, or texture, or any other format you wish) based on the color value of each pixel. There is a tutorial laying out everything you need to do here. Almost everything there will work as-is on WP7 except the effect parameters; map those instead to a BasicEffect
or the like. There are no custom shaders in it.
Post-script: You should read up on the basics of 3D graphics, in terms of what shaders do vs. what vertices are meant for, and really the whole pipeline, to get a better understanding. There are plenty of good articles, blogs, and books out there.