public DeviceRenderState(AlphaBlendState alphaBlendState, AlphaTestState alphaTestState, DepthColourCullState depthState, StencilTestState stencilState) { StencilTest = stencilState; AlphaBlend = alphaBlendState; AlphaTest = alphaTestState; DepthColourCull = depthState; }
internal void ResetState(ref AlphaBlendState current, DeviceContext device) { device.SetRenderState(RenderState.AlphaBlendEnable, Enabled); device.SetRenderState(RenderState.SeparateAlphaBlendEnable, SeparateAlphaBlendEnabled); device.SetRenderState(RenderState.BlendOperation, BlendOperation); device.SetRenderState(RenderState.BlendOperationAlpha, BlendOperationAlpha); device.SetRenderState(RenderState.SourceBlend, SourceBlend); device.SetRenderState(RenderState.DestinationBlend, DestinationBlend); device.SetRenderState(RenderState.SourceBlendAlpha, SourceBlendAlpha); device.SetRenderState(RenderState.DestinationBlendAlpha, DestinationBlendAlpha); current._mode = _mode; }
internal void ResetState(ref AlphaBlendState current, DeviceContext device) { device.SetRenderState(RenderState.AlphaBlendEnable, Enabled); device.SetRenderState(RenderState.SeparateAlphaBlendEnable, SeparateAlphaBlendEnabled); device.SetRenderState(RenderState.BlendOperation, BlendOperation); device.SetRenderState(RenderState.BlendOperationAlpha, BlendOperationAlpha); device.SetRenderState(RenderState.SourceBlend, SourceBlend); device.SetRenderState(RenderState.DestinationBlend, DestinationBlend); device.SetRenderState(RenderState.SourceBlendAlpha, SourceBlendAlpha); device.SetRenderState(RenderState.DestinationBlendAlpha, DestinationBlendAlpha); current._mode = _mode; }
internal bool ApplyState(ref AlphaBlendState current, DeviceContext device) { bool changed = false; if (Enabled) { #if DEBUG if (_mode != current._mode) changed = true; #endif if (!current.Enabled) device.SetRenderState(RenderState.AlphaBlendEnable, true); if (SeparateAlphaBlendEnabled != current.SeparateAlphaBlendEnabled) device.SetRenderState(RenderState.SeparateAlphaBlendEnable, SeparateAlphaBlendEnabled); if (BlendOperation != current.BlendOperation) device.SetRenderState(RenderState.BlendOperation, BlendOperation); if (BlendOperationAlpha != current.BlendOperationAlpha) device.SetRenderState(RenderState.BlendOperationAlpha, BlendOperationAlpha); if (SourceBlend != current.SourceBlend) device.SetRenderState(RenderState.SourceBlend, SourceBlend); if (DestinationBlend != current.DestinationBlend) device.SetRenderState(RenderState.DestinationBlend, DestinationBlend); if (SourceBlendAlpha != current.SourceBlendAlpha) device.SetRenderState(RenderState.SourceBlendAlpha, SourceBlendAlpha); if (DestinationBlendAlpha != current.DestinationBlendAlpha) device.SetRenderState(RenderState.DestinationBlendAlpha, DestinationBlendAlpha); current._mode = _mode; } else { if (current.Enabled) { device.SetRenderState(RenderState.AlphaBlendEnable, false); current.Enabled = false; #if DEBUG changed = true; #endif } } return changed; }
internal bool ApplyState(ref AlphaBlendState current, DeviceContext device) { bool changed = false; if (Enabled) { #if DEBUG if (_mode != current._mode) { changed = true; } #endif if (!current.Enabled) { device.SetRenderState(RenderState.AlphaBlendEnable, true); } if (SeparateAlphaBlendEnabled != current.SeparateAlphaBlendEnabled) { device.SetRenderState(RenderState.SeparateAlphaBlendEnable, SeparateAlphaBlendEnabled); } if (BlendOperation != current.BlendOperation) { device.SetRenderState(RenderState.BlendOperation, BlendOperation); } if (BlendOperationAlpha != current.BlendOperationAlpha) { device.SetRenderState(RenderState.BlendOperationAlpha, BlendOperationAlpha); } if (SourceBlend != current.SourceBlend) { device.SetRenderState(RenderState.SourceBlend, SourceBlend); } if (DestinationBlend != current.DestinationBlend) { device.SetRenderState(RenderState.DestinationBlend, DestinationBlend); } if (SourceBlendAlpha != current.SourceBlendAlpha) { device.SetRenderState(RenderState.SourceBlendAlpha, SourceBlendAlpha); } if (DestinationBlendAlpha != current.DestinationBlendAlpha) { device.SetRenderState(RenderState.DestinationBlendAlpha, DestinationBlendAlpha); } current._mode = _mode; } else { if (current.Enabled) { device.SetRenderState(RenderState.AlphaBlendEnable, false); current.Enabled = false; #if DEBUG changed = true; #endif } } return(changed); }