/// <summary>
 /// Sets the textures.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="texture">The textures.</param>
 public void SetTextures(DeviceContext context, Texture[] textures)
 {
     Contract.Requires<ArgumentNullException>(context != null, "context");
     Contract.Requires<ArgumentNullException>(textures != null, "textures");
     if (textures.Length == 1)
     {
         SetTexture(context, textures[0]);
     }
     else
     {
         ShaderResourceView[] views = new ShaderResourceView[textures.Length];
         for (int i = 0; i < textures.Length; i++)
         {
             views[i] = textures[i].TextureView;
         }
         context.PixelShader.SetShaderResources(views, 0, textures.Length);
     }
 }
 /// <summary>
 /// Sets the texture.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="texture">The texture.</param>
 public void SetTexture(DeviceContext context, Texture texture)
 {
     Contract.Requires<ArgumentNullException>(context != null, "context");
     Contract.Requires<ArgumentNullException>(texture != null, "texture");
     context.PixelShader.SetShaderResource(texture.TextureView, 0);
 }