protected void RenderScene()
        {
            // update view variables
            xAxisRotation.Angle = XAxisSlider.Value;
            yAxisRotation.Angle = -YAxisSlider.Value;
            zAxisRotation.Angle = ZAxisSlider.Value;
            modelZoom.ScaleX    = ZoomSlider.Value / 2;
            modelZoom.ScaleY    = ZoomSlider.Value / 2;
            modelZoom.ScaleZ    = ZoomSlider.Value / 2;

            // update view
            meshManager.SetViewAndProjection(
                camera.ToViewLH().ToMatrix4x4F(),
                camera.ToPerspectiveLH(renderHost.ActualWidth / renderHost.ActualHeight).ToMatrix4x4F());

            // clear render target
            device.ClearRenderTargetView(renderTargetView, backgroundColor);

            // Clear the depth buffer to 1.0 (max depth)
            device.ClearDepthStencilView(depthStencilView, ClearOptions.Depth, 1.0f, (byte)0);

            // render mesh
            mesh.LightIntensity = 2.5f;
            mesh.Render(modelTransformGroup.Value);

            // present back buffer
            swapChain.Present(1, PresentOptions.None);
        }