public void Load() { Vertex v; List <Vertex> geometry = new List <Vertex>(); v = new Vertex() { Position = new Vector3(0f, 0f, 0) + Position, TexCoord = new Vector2(0f, 1f) }; geometry.Add(v); v = new Vertex() { Position = new Vector3(1.0f, 0f, 0) + Position, TexCoord = new Vector2(1f, 1f) }; geometry.Add(v); v = new Vertex() { Position = new Vector3(1.0f, this.Height, 0) + Position, TexCoord = new Vector2(1f, 0f) }; geometry.Add(v); v = new Vertex() { Position = new Vector3(0f, this.Height, 0) + Position, TexCoord = new Vector2(0f, 0f) }; geometry.Add(v); Bitmap bmpCross = Properties.Resources.crosshair; GraphicsUnit gunit = GraphicsUnit.Pixel; var bounds = bmpCross.GetBounds(ref gunit); this._crosshair = ImageTexture.CreateTextureFromImage(bmpCross, bounds); var @default = ShaderCompiler.ApplyShader(CrosshairShader.vertexShaderSource, CrosshairShader.fragmentShaderSource); @default.Link(); @default.Use(); CurrentShader = @default; Buffering.BufferShaderGeometry(geometry, out vbo, out NumVerticies); }