void Draw(Sprite sprite) { if (sprite.isVisible) { var quad = sprite.createMesh(); quadEffect.Texture = sprite.textures[sprite.texture_index]; foreach (EffectPass pass in quadEffect.CurrentTechnique.Passes) { pass.Apply(); graphics.GraphicsDevice.DrawUserIndexedPrimitives <VertexPositionNormalTexture>( PrimitiveType.TriangleList, quad.Vertices, 0, 4, quad.Indexes, 0, 2); } } }