public BlendDesc_NativeInterop(ref BlendDesc desc)
 {
     alphaToCoverageEnable  = (byte)(desc.alphaToCoverageEnable ? 1 : 0);
     independentBlendEnable = (byte)(desc.independentBlendEnable ? 1 : 0);
     if (desc.renderTargetBlendDescs != null)
     {
         renderTargetBlendDescCount = desc.renderTargetBlendDescs.Length;
         renderTargetBlendDescs     = (RenderTargetBlendDesc_NativeInterop *)Marshal.AllocHGlobal(Marshal.SizeOf <RenderTargetBlendDesc_NativeInterop>());
         for (int i = 0; i != renderTargetBlendDescCount; ++i)
         {
             renderTargetBlendDescs[i] = new RenderTargetBlendDesc_NativeInterop(ref desc.renderTargetBlendDescs[i]);
         }
     }
     else
     {
         renderTargetBlendDescCount = 0;
         renderTargetBlendDescs     = null;
     }
 }
 public override BlendState CreateBlendState(BlendDesc desc)
 {
     throw new NotImplementedException();
 }