示例#1
0
        private void convertShaderToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string OldFileName = GetRegKey("LastShaderFilename", m_ApplicationPath);

            openFileDialogShader.InitialDirectory = Path.GetDirectoryName(OldFileName);
            openFileDialogShader.FileName         = Path.GetFileName(OldFileName);
//          if ( openFileDialogShader.ShowDialog( this ) != DialogResult.OK )
//              return;
//          SetRegKey( "LastShaderFilename", openFileDialogShader.FileName );

            openFileDialogShader.FileName = @"E:\[Workspaces]\GodComplex\Resources\Shaders\GIRenderCubeMap.hlsl";


            // Perform conversion
            string CSharpCode = null;

            try
            {
                // Load the shader code
                string   ShaderCode = null;
                FileInfo ShaderFile = new FileInfo(openFileDialogShader.FileName);
                using (StreamReader S = ShaderFile.OpenText())
                    ShaderCode = S.ReadToEnd();

                // Perform conversion
                CSharpCode = Converter.ConvertShader(ShaderFile, ShaderCode, "Test", "VS", "PS");
            }
            catch (Converter.ConverterException _e)
            {
                SourceErrorForm F = new SourceErrorForm("An error occurred while converting shader \"" + openFileDialogShader.FileName + "\" to C# class!\n\n", _e);
                F.ShowDialog(this);
                return;
            }
            catch (Exception _e)
            {
                MessageBox("An error occurred while converting shader to C# class!\n\n" + _e.Message);
                return;
            }

            // Save the result
            OldFileName = GetRegKey("LastCSharpFilename", m_ApplicationPath);
            saveFileDialogShader.InitialDirectory = Path.GetDirectoryName(OldFileName);
            saveFileDialogShader.FileName         = Path.GetFileName(OldFileName);
            if (saveFileDialogShader.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }
            SetRegKey("LastCSharpFilename", saveFileDialogShader.FileName);

            FileInfo CSharpFile = new FileInfo(saveFileDialogShader.FileName);

            using (StreamWriter S = CSharpFile.CreateText())
            {
                S.Write(CSharpCode);
            }
        }
示例#2
0
        private void convertShaderToolStripMenuItem_Click( object sender, EventArgs e )
        {
            string	OldFileName = GetRegKey( "LastShaderFilename", m_ApplicationPath );
            openFileDialogShader.InitialDirectory = Path.GetDirectoryName( OldFileName );
            openFileDialogShader.FileName = Path.GetFileName( OldFileName );
            // 			if ( openFileDialogShader.ShowDialog( this ) != DialogResult.OK )
            // 				return;
            // 			SetRegKey( "LastShaderFilename", openFileDialogShader.FileName );

            openFileDialogShader.FileName = @"E:\[Workspaces]\GodComplex\Resources\Shaders\GIRenderCubeMap.hlsl";

            // Perform conversion
            string	CSharpCode = null;
            try
            {
                // Load the shader code
                string		ShaderCode = null;
                FileInfo	ShaderFile = new FileInfo( openFileDialogShader.FileName );
                using ( StreamReader S = ShaderFile.OpenText() )
                    ShaderCode = S.ReadToEnd();

                // Perform conversion
                CSharpCode = Converter.ConvertShader( ShaderFile, ShaderCode, "Test", "VS", "PS" );
            }
            catch ( Converter.ConverterException _e )
            {
                SourceErrorForm	F = new SourceErrorForm( "An error occurred while converting shader \"" + openFileDialogShader.FileName + "\" to C# class!\n\n", _e );
                F.ShowDialog( this );
                return;
            }
            catch ( Exception _e )
            {
                MessageBox( "An error occurred while converting shader to C# class!\n\n" + _e.Message );
                return;
            }

            // Save the result
            OldFileName = GetRegKey( "LastCSharpFilename", m_ApplicationPath );
            saveFileDialogShader.InitialDirectory = Path.GetDirectoryName( OldFileName );
            saveFileDialogShader.FileName = Path.GetFileName( OldFileName );
            if ( saveFileDialogShader.ShowDialog( this ) != DialogResult.OK )
                return;
            SetRegKey( "LastCSharpFilename", saveFileDialogShader.FileName );

            FileInfo	CSharpFile = new FileInfo( saveFileDialogShader.FileName );
            using ( StreamWriter S = CSharpFile.CreateText() )
            {
                S.Write( CSharpCode );
            }
        }