Beispiel #1
0
        // 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();
                    }
                }
            }
        }
Beispiel #2
0
        // 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();
                    }
                }
            }
        }
Beispiel #3
0
        // 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);
                }
            }
        }