BImageViewer.ViewerForm.Application_Idle C# (CSharp) Method

Application_Idle() private method

private Application_Idle ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        void Application_Idle( object sender, EventArgs e )
        {
            if ( m_Device == null )
                return;

            // Update camera
            m_CB_Global.m.m_ScreenWidth = (uint) Width;
            m_CB_Global.m.m_ScreenHeight = (uint) Height;
            m_CB_Global.m.m_Time = (float) (DateTime.Now - m_startTime).TotalSeconds;
            m_CB_Global.m.m_MipLevel = (float) integerTrackbarControlMipLevel.Value;
            m_CB_Global.m.m_Exposure = (float) Math.Pow( 2.0, floatTrackbarControlEV.Visible ? (float) floatTrackbarControlEV.Value : 0.0f );
            m_CB_Global.UpdateData();

            // Clear
            m_Device.ClearDepthStencil( m_Device.DefaultDepthStencil, 1.0f, 0, true, false );
            m_Device.Clear( float4.Zero );

            // Render
            m_Device.SetRenderTarget( m_Device.DefaultTarget, m_Device.DefaultDepthStencil );
            m_Device.SetRenderStates( RASTERIZER_STATE.CULL_NONE, DEPTHSTENCIL_STATE.DISABLED, BLEND_STATE.DISABLED );

            if ( m_Shader_Render2D.Use() ) {

                if ( m_Tex2D != null )
                    m_Tex2D.SetPS( 0 );
                if ( m_TexCube != null )
                    m_TexCube.SetPS( 1 );
                if ( m_Tex3D != null )
                    m_Tex3D.SetPS( 2 );

                m_Device.RenderFullscreenQuad( m_Shader_Render2D );
            }

            m_Device.Present( false );
        }