public MainWindow() { InitializeComponent(); renderer = new Renderer(new Size(400, 400)); lastMeasureTime = DateTime.Now; frames = 0; glcontrol = new GLControl(); glcontrol.Paint += this.GlcontrolOnPaint; glcontrol.Dock = System.Windows.Forms.DockStyle.Fill; Host.Child = this.glcontrol; System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer(); timer.Interval = TimeSpan.FromMilliseconds(1); timer.Tick += this.TimerOnTick; timer.Start(); // Top panel is video feed // Get BMP from video feed, write into framebuffer // Bottom panel is the video image that is in the frame buffer, plus the OpenGL guff Vg = new VideoGrabberWPF(); Vg.OnFirstFrameReceived += Vg_OnFirstFrameReceived; Vg.OnFrameSourceAvailable += Vg_OnFrameSourceAvailable; Vg.OnFrameBitmap += VideoGrabber1_OnFrameBitmap; }
public MainWindow() { InitializeComponent(); this.renderer = new Renderer(new Size(400, 400)); this.framebufferHandler = new FrameBufferHandler(); GL.Enable(EnableCap.Texture2D); System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer(); timer.Interval = TimeSpan.FromMilliseconds(1); timer.Tick += this.TimerOnTick; timer.Start(); // Top panel is video feed // Get BMP from video feed, write into framebuffer // Bottom panel is the video image that is in the frame buffer, plus the OpenGL guff Vg = new VideoGrabberWPF(); Vg.OnFirstFrameReceived += Vg_OnFirstFrameReceived; Vg.OnFrameSourceAvailable += Vg_OnFrameSourceAvailable; Vg.OnFrameBitmap += VideoGrabber1_OnFrameBitmap; }