public void ApplyOutputDescription(CompleteOutputDescription desc)
        {
            desc.CompareAgainst(desc, true);
            outputDescription = desc;

            /*if (desc.GeneralShadingDesc.AntiAliasing > 0)
             *  presentParams.MultiSample = MultiSampleType.FourSamples;
             * else
             *  presentParams.MultiSample = MultiSampleType.None;*/

            try
            {
                device.Reset(presentParams);
            }
            catch (Exception e)
            {
                log.AddItem(new LogItem(string.Format("Device failed to reset with pParams={0},{1},{2},{3},{4},{5},{6}: Exception is - {7}",
                                                      presentParams.AutoDepthStencilFormat,
                                                      presentParams.BackBufferFormat,
                                                      presentParams.BackBufferHeight,
                                                      presentParams.BackBufferWidth,
                                                      presentParams.EnableAutoDepthStencil,
                                                      presentParams.MultiSample,
                                                      presentParams.SwapEffect,
                                                      e.Message),
                                        LogItem.ItemLevel.Error));
                throw;
            }

            sceneManager.SetScheme(desc.SchemeSettings.GetScheme(device));
            sceneManager.SetOutputDesc(desc);

            if (desc.GeneralShadingDesc.Wireframe)
            {
                device.RenderState.FillMode = FillMode.WireFrame;
            }
            else
            {
                device.RenderState.FillMode = FillMode.Solid;
            }

            switch (desc.GeneralShadingDesc.ShadingMode)
            {
            case NuGenSVisualLib.Rendering.Shading.GeneralShadingDesc.ShadingModes.Smooth:
                device.RenderState.ShadeMode = ShadeMode.Phong;
                break;

            case NuGenSVisualLib.Rendering.Shading.GeneralShadingDesc.ShadingModes.Flat:
                device.RenderState.ShadeMode = ShadeMode.Flat;
                break;
            }

            RefreshDescription();
        }