public static void DrawQuad(Effect effect, Quad quad, GraphicsDevice gd) { foreach (EffectPass pass in effect.CurrentTechnique.Passes) { pass.Apply(); gd.DrawUserIndexedPrimitives<VertexPositionNormalTexture>(PrimitiveType.TriangleList, quad.Vertices, 0, 4, quad.Indexes, 0, 2); } }
void FlushVertexArray(int start, int end) { if (start == end) { return; } var vertexCount = end - start; _device.DrawUserIndexedPrimitives( PrimitiveType.TriangleList, _vertexArray, 0, vertexCount, _index, 0, (vertexCount / 4) * 2, VertexPositionColorTexture.VertexDeclaration); }
public override void Draw(Microsoft.Xna.Framework.Graphics.GraphicsDevice device, Camera cam) { if (!useWorldSpace) { //transform local positions to world space for (int i = 0; i < pointCnt; i++) { transformedPositions[i] = transform.TransformPoint(positions[i]); } Rebuild(transformedPositions, pointCnt, cam.transform.position); } else { Rebuild(positions, pointCnt, cam.transform.position); } material.SetTextureState(cam.BasicEffect); material.SetBlendState(device); cam.BasicEffect.VertexColorEnabled = true; cam.BasicEffect.LightingEnabled = false; foreach (EffectPass pass in cam.BasicEffect.CurrentTechnique.Passes) { pass.Apply(); device.DrawUserIndexedPrimitives <VertexPositionColorTexture>( PrimitiveType.TriangleList, vertexPositionColorTextures, 0, pointCnt * 2, triangleIndexData, 0, (pointCnt - 1) * 2 ); } }
public void Render (GraphicsDevice device, Texture defaultTexture) { device.Textures[0] = _texture ?? defaultTexture; device.DrawUserIndexedPrimitives(PrimitiveType.TriangleList, _vertexBuffer, 0, _vertexBuffer.Length, _indexBuffer, 0, _indexBuffer.Length / 3); }
//float x = 0; public void Render(GraphicsDevice device, CQT.Model.Point p1, CQT.Model.Point p2, CQT.Model.Point p3, Color color) { BasicEffect _effect = new BasicEffect(device); _effect.Texture = ColorToTexture(device, color, 1, 1); _effect.TextureEnabled = true; //_effect.VertexColorEnabled = true; VertexPositionTexture[] _vertices = new VertexPositionTexture[3]; _vertices[0].Position = PointToVector3(ref p1); _vertices[1].Position = PointToVector3(ref p2); _vertices[2].Position = PointToVector3(ref p3); foreach (var pass in _effect.CurrentTechnique.Passes) { pass.Apply(); device.DrawUserIndexedPrimitives<VertexPositionTexture> ( PrimitiveType.TriangleStrip, // same result with TriangleList _vertices, 0, _vertices.Length, new int[] { 0, 1, 2 }, 0, 1 ); } }