private void OpenGLControl_OpenGLInitialized(object sender, OpenGLEventArgs args)
        {
            gl = args.OpenGL;
            shaderScene.Initialise(gl);

            // init channel 0 (image)
            if (updateImageAfterGlLoad)
            {
                shaderScene.UpdateTextureBitmap(gl, 1, ImageHelper.BitmapImage2Bitmap(Ch0Image));
            }
        }
        public MainWindow()
        {
            InitializeComponent();

            LoadWasapiDevicesCombo();
            MicCombo.SelectedIndex = 0;
            mic = new Microphone((MMDevice)MicCombo.SelectedItem);

            aud.FftCalculated += OnFftCalculated;
            mic.FftCalculated += OnFftCalculated;

            shaders.Add(new Shader("Waves", "waves_audio"));
            shaders.Add(new Shader("Menger", "menger"));
            shaders.Add(new Shader("Boxy", "boxy_audio"));
            shaders.Add(new Shader("Waves Remix", "wave_remix_audio"));
            shaders.Add(new Shader("Polar", "polar_audio"));
            shaders.Add(new Shader("Music Ball", "music_ball_audio"));
            shaders.Add(new Shader("Cubescape", "cubescape_audio"));
            shaders.Add(new Shader("Sea", "sea"));
            shaders.Add(new Shader("Mandelbrot", "mandelbrot"));

            shaderScene = new ShaderScene(shaders[0]);
            shaderSelector.ItemsSource   = shaders;
            shaderSelector.SelectedIndex = 0;

            InitTextures();

            audioBitmap.OnBitmapUpdated += (s, a) => shaderScene.UpdateTextureBitmap(gl, 0, a.image);
        }
        private void OpenGLControl_OpenGLInitialized(object sender, OpenGLEventArgs args)
        {
            gl = args.OpenGL;
            scn.Initialise(gl);

            //init channel 0 (image)
            Ch0Image            = new BitmapImage(new Uri(@"C:/sta.jpg"));
            CHO_ImageBox.Source = Ch0Image;
            scn.UpdateTextureBitmap(gl, 1, ImageHelper.BitmapImage2Bitmap(Ch0Image));
            //scn.UpdateTextureBitmap(gl, 1, ab.lastBitmap);

            //texture1.Create(gl, ImageHelper.BitmapImage2Bitmap(Ch0Image));
            //texture1.TextureName = "iChannel1";

            //init channel 1 (audio)
            //texture2.Create(gl);
        }