BImageViewer.ViewerForm.ViewerForm C# (CSharp) Method

ViewerForm() public method

public ViewerForm ( BImage _Image ) : System
_Image BImage
return System
        public ViewerForm( BImage _Image )
        {
            InitializeComponent();

            //TransparencyKey = SystemColors.Control;

            // Setup device
            m_Device = new Device();
            m_Device.Init( Handle, false, true );

            m_CB_Global = new ConstantBuffer< CB_Global >( m_Device, 0 );

            // Create shaders
            m_Shader_Render2D = new Shader( m_Device, new ShaderFile( new System.IO.FileInfo( @"./Shaders/Render2D.hlsl" ) ), VERTEX_FORMAT.Pt4, "VS", null, "PS", null );

            // Create the texture
            try
            {
                if ( _Image.m_Opts.m_type == BImage.ImageOptions.TYPE.TT_2D ) {
                    m_Tex2D = _Image.CreateTexture2D( m_Device );

                    m_CB_Global.m.m_ImageWidth = (uint) m_Tex2D.Width;
                    m_CB_Global.m.m_ImageHeight = (uint) m_Tex2D.Height;
                    m_CB_Global.m.m_ImageDepth = (uint) m_Tex2D.ArraySize;
                    m_CB_Global.m.m_ImageType = 0;

                    integerTrackbarControlMipLevel.RangeMax = m_Tex2D.MipLevelsCount;
                    integerTrackbarControlMipLevel.VisibleRangeMax = m_Tex2D.MipLevelsCount;

                } else if ( _Image.m_Opts.m_type == BImage.ImageOptions.TYPE.TT_CUBIC ) {
                    m_TexCube = _Image.CreateTextureCube( m_Device );

                    m_CB_Global.m.m_ImageWidth = (uint) m_TexCube.Width;
                    m_CB_Global.m.m_ImageHeight = (uint) m_TexCube.Height;
                    m_CB_Global.m.m_ImageDepth = (uint) m_TexCube.ArraySize;
                    m_CB_Global.m.m_ImageType = 1;

                    integerTrackbarControlMipLevel.RangeMax = m_TexCube.MipLevelsCount;
                    integerTrackbarControlMipLevel.VisibleRangeMax = m_TexCube.MipLevelsCount;

                } else if ( _Image.m_Opts.m_type == BImage.ImageOptions.TYPE.TT_3D ) {
                    m_Tex3D = _Image.CreateTexture3D( m_Device );
                }

                // Enable EV manipulation for HDR images
                bool	showExposure = _Image.m_Opts.m_format.m_type == BImage.PixelFormat.Type.FLOAT;
                labelEV.Visible = showExposure;
                floatTrackbarControlEV.Visible = showExposure;

            }
            catch ( Exception _e )
            {
                MessageBox.Show( this, "Failed to create a valid texture from the image:\r\n\r\n" + _e.Message, "BImage Viewer", MessageBoxButtons.OK, MessageBoxIcon.Error );
            }

            Application.Idle += new EventHandler( Application_Idle );
        }