After pulling my hair out trying to figure out why I'm not intelligent enough to get this tutorial to build I finally figured out that I was working with the 2.0 version of DirectX managed. The only change I had to make to get the tutorial code to build was in the CreateCrossHairVertexArrayTop and Bottom methods. Instead of returning a PositionColored[] it needs to return a GraphicsBuffer to the DrawUserPrimitives method. Not an earthbreaking change but maybe someone else can benefit from not wasting valuable hair strands on this simple issue. The code I used is:
private GraphicsBuffer<PositionColored> CreateCrossHairVertexArrayTop ( )
{
GraphicsBuffer<PositionColored> crossHair = new GraphicsBuffer<PositionColored>(7);
float zval = 0f;
Color col = Color.Green;
crossHair.Write(new PositionColored(-1f, 1f, zval, col));
crossHair.Write(new PositionColored(-1f, 2f, zval, col));
crossHair.Write(new PositionColored(0f, 2f, zval, col));
crossHair.Write(new PositionColored(0f, 3f, zval, col));
crossHair.Write(new PositionColored(0f, 2f, zval, col));
crossHair.Write(new PositionColored(1f, 2f, zval, col));
crossHair.Write(new PositionColored(1f, 1f, zval, col));
return crossHair;
}
Hope this helps someone out. Not sure the performance implications of using Generics instead of arrays, but I don't see any framerate difference in the tutorial application using DX 2 or DX 1.4 on my admitedly subpar gaming machine.
Scott