Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some assistance appreciated for writing a new pango_video driver #883

Open
crosswick opened this issue Jul 15, 2023 · 1 comment
Open

Some assistance appreciated for writing a new pango_video driver #883

crosswick opened this issue Jul 15, 2023 · 1 comment

Comments

@crosswick
Copy link

Hi all - I'd like to get my Revopoint POP3 3D scanner/camera working as a pango_video input.

This is their example project, which is linked against their closed-source library:
https://github.com/Revopoint/3DViewer/

In terms of making a pango_video driver, I've first successfully gotten the realsense2 driver working on macOS arm64 with an Intel Realsense D405 camera, testing with ./VideoViewer realsense2://

Searching both that repo and the Pangolin one for "memcpy", I think writing a driver may come down to somehow modifying
Pangolin/components/pango_video/src/drivers/realsense2.cpp
with functions and libraries found in
3DViewer/src/cscamera/cscamera.cpp

It's not that I'm stuck atm per se - I would just appreciate it if anyone could give me an idea whether this is a good approach, thanks.

@stevenlovegrove
Copy link
Owner

Again, my apologies for only now responding. For anyone else that sees this, the 'test' driver is the most minimal Pangolin video driver example (VideoViewer "test://"):

https://github.com/stevenlovegrove/Pangolin/blob/master/components/pango_video/include/pangolin/video/drivers/test.h
https://github.com/stevenlovegrove/Pangolin/blob/master/components/pango_video/src/drivers/test.cpp

The main components are:

  • Subclassing VideoInterface
  • Configuring the StreamInfo in your drivers constructor to describe the video format
  • Filling the buffer provided with the video data in GrabNext().
  • Creating a factory to instantiate your driver from a string description of it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants