// Render loop private void NativeWindow_Render(object sender, NativeWindowEventArgs e) { OpenGL.CoreUI.NativeWindow nativeWindow = (OpenGL.CoreUI.NativeWindow)sender; Gl.Viewport(0, 0, (int)nativeWindow.Width, (int)nativeWindow.Height); Gl.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); ERROR_CODE err = ERROR_CODE.FAILURE; if (viewer.isAvailable() && zedCamera.Grab(ref runtimeParameters) == ERROR_CODE.SUCCESS) { if (point_cloud.IsInit()) { // Retrieve Objects err = zedCamera.RetrieveObjects(ref object_frame, ref obj_runtime_parameters); if (err == ERROR_CODE.SUCCESS && object_frame.isNew != 0) { // Retrieve left image zedCamera.RetrieveMeasure(point_cloud, sl.MEASURE.XYZRGBA, sl.MEM.CPU, res); zedCamera.GetPosition(ref cam_pose, REFERENCE_FRAME.WORLD); //Update GL View viewer.update(point_cloud, object_frame, cam_pose); viewer.render(); } } } }
// Render loop private void NativeWindow_Render(object sender, NativeWindowEventArgs e) { OpenGL.CoreUI.NativeWindow nativeWindow = (OpenGL.CoreUI.NativeWindow)sender; Gl.Viewport(0, 0, (int)nativeWindow.Width, (int)nativeWindow.Height); Gl.Clear(ClearBufferMask.ColorBufferBit); ERROR_CODE err = ERROR_CODE.FAILURE; if (viewer.isAvailable() && zedCamera.Grab(ref runtimeParameters) == ERROR_CODE.SUCCESS) { if (zedMat.IsInit()) { // Retrieve left image err = zedCamera.RetrieveImage(zedMat, sl.VIEW.LEFT, sl.MEM.CPU); if (err == ERROR_CODE.SUCCESS) { // Retrieve Objects zedCamera.RetrieveObjects(ref object_frame, ref obj_runtime_parameters); //Update GL View viewer.update(zedMat, object_frame); viewer.render(); } } } }
// Render loop private void NativeWindow_Render(object sender, NativeWindowEventArgs e) { OpenGL.CoreUI.NativeWindow nativeWindow = (OpenGL.CoreUI.NativeWindow)sender; Gl.Viewport(0, 0, (int)nativeWindow.Width, (int)nativeWindow.Height); Gl.Clear(ClearBufferMask.ColorBufferBit); ERROR_CODE err = ERROR_CODE.FAILURE; if (viewer.isAvailable() && zedCamera.Grab(ref runtimeParameters) == ERROR_CODE.SUCCESS) { if (imageLeft.IsInit()) { // Retrieve left image zedCamera.RetrieveMeasure(pointCloud, sl.MEASURE.XYZRGBA, sl.MEM.CPU, pcRes); zedCamera.RetrieveImage(imageLeft, sl.VIEW.LEFT, sl.MEM.CPU, displayRes); zedCamera.GetPosition(ref camPose, REFERENCE_FRAME.WORLD); // Retrieve Objects zedCamera.RetrieveObjects(ref objects, ref obj_runtime_parameters); TrackingViewer.render_2D(ref imageLeftOcv, imgScale, ref objects, isTrackingON); //Update GL View viewer.update(pointCloud, objects, camPose); viewer.render(); if (isPlayback && zedCamera.GetSVOPosition() == zedCamera.GetSVONumberOfFrames()) { return; } Cv2.ImShow(window_name, imageLeftOcv); } } }