/// <summary> /// Initializes a new instance of the <see cref="BlendState"/> class. /// </summary> /// <param name="src">The SRC.</param> /// <param name="dst">The DST.</param> /// <param name="op">The op.</param> /// <param name="srcAlpha">The SRC alpha.</param> /// <param name="dstAlpha">The DST alpha.</param> /// <param name="opAlpha">The op alpha.</param> public BlendState(BlendOperand src, BlendOperand dst, BlendOperation op, BlendOperand srcAlpha, BlendOperand dstAlpha, BlendOperation opAlpha) : this(src, dst, op) { srcAlphaBlend = srcAlpha; dstAlphaBlend = dstAlpha; opAlphaBlend = opAlpha; }
/// <summary> /// Initializes a new instance of the <see cref="BlendState"/> class. /// </summary> /// <param name="src">The SRC.</param> /// <param name="dst">The DST.</param> /// <param name="op">The op.</param> /// <param name="srcAlpha">The SRC alpha.</param> /// <param name="dstAlpha">The DST alpha.</param> /// <param name="opAlpha">The op alpha.</param> /// <param name="alphaToCov">if set to <c>true</c> alpha to coverage is used.</param> /// <param name="write">The write.</param> /// <param name="Sample">The Sample.</param> public BlendState(BlendOperand src, BlendOperand dst, BlendOperation op, BlendOperand srcAlpha, BlendOperand dstAlpha, BlendOperation opAlpha, bool alphaToCov, WriteMask write, byte sample) : this(src, dst, op, srcAlpha, dstAlpha, opAlpha) { alphaToCoverage = alphaToCov; writeMasks[0] = write; sampleMask = sample; }
/// <summary> /// Initializes a new instance of the <see cref="BlendState"/> class. /// </summary> /// <param name="src">The SRC.</param> /// <param name="dst">The DST.</param> /// <param name="op">The operation.</param> public BlendState(BlendOperand src, BlendOperand dst, BlendOperation op) : this() { blendEnable[0] = true; srcBlend = src; dstBlend = dst; opBlend = op; }
/// <summary> /// Makes a copy of the state. /// </summary> /// <param name="other">The other state.</param> public void Copy([NotNull] BlendState other) { // We can copy device data because it is immutable. Changed(); alphaToCoverage = other.alphaToCoverage; for (uint i = 0; i < GraphicsDevice.MaxRenderTargets; i++) { writeMasks[i] = other.writeMasks[i]; blendEnable[i] = other.blendEnable[i]; } srcBlend = other.srcBlend; dstBlend = other.dstBlend; opBlend = other.opBlend; srcAlphaBlend = other.srcAlphaBlend; dstAlphaBlend = other.dstAlphaBlend; opAlphaBlend = other.opAlphaBlend; sampleMask = other.sampleMask; }