internal protected abstract void internal_draw(RenderPass pass, RenderPassDrawMode mode);
 public static RenderPassDrawMode Invert(this RenderPassDrawMode mode) => mode switch
 {
 protected internal override void internal_draw(RenderPass pass, RenderPassDrawMode mode) => throw new NotImplementedException();
 protected internal override void internal_draw(RenderPass pass, RenderPassDrawMode mode)
 {
     First.internal_draw(pass, mode);
     Second.internal_draw(pass, mode);
 }
 protected internal override void internal_draw(RenderPass pass, RenderPassDrawMode mode)
 {
     Union.internal_draw(pass, mode);
     Overlap.internal_draw(pass, mode.Invert());
 }