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

orx-kinect refactoring + new general orx-depth-camera #257

Merged
merged 9 commits into from
Aug 24, 2022

Conversation

morisil
Copy link
Contributor

@morisil morisil commented Aug 9, 2022

I changed a lot with this PR and unfortunately I couldn't keep down compatibility:

  • new orx-depth-camera interface for generalized API of all the depth cameras
  • 3 modes of depth measurement: RAW_NORMALIZED, METERS, RAW
  • initial low level kinect shaders operating on integer values, not floating point values
  • the concept of depthCamera.frameFlow: Flow<ColorBuffer> operating on drawer thread coroutines for async processing of kinect frames
  • extensive set of demo programs to show possible use cases
  • colormap filters externalized as mpp filters in orx-fx
  • depthCamera.mirror property renamed to flipH and corresponding flipV added (I have use cases with projections calibrated over the floor level where it is very useful).

@hamoid
Copy link
Member

hamoid commented Aug 15, 2022

Hi :) Is it expected that orx-depth-camera and orx-depth-camera-calibrator could be used independently? Or always together? Just wondering if the second could be part of the first (since it seems to be only one file) to avoid creating more orx'es than needed.

Great job, looks like very useful for all of you using depth cameras :)

@morisil
Copy link
Contributor Author

morisil commented Aug 16, 2022

@hamoid My intent was to make orx-depth-camera as an API independent from the implementation, therefore it's MPP module, potentially capable of supporting something like webcam from the browser with some ML depth estimation. The calibrator is dependent on orx-parameters and the logic of storing parameters between program runs, which works only on jvm, even though orx-parameters is technically MPP, but making it work in JS would require, I believe, providing some form of annotation processor, as reflection is not suppoorted. So I can see use cases of these 2 being used independently. But technically it would be possible to merge them, as orx-parameters is a MPP module, even if it's not fully implemented.

@morisil
Copy link
Contributor Author

morisil commented Aug 16, 2022

@hamoid , ok, just checked, not possible at the moment because orx-depth-camera-calibrator depends on :orx-jvm:orx-gui :( Once we have JS version of GUI, which I would be actually happy to have, then it can be merged.

@hamoid
Copy link
Member

hamoid commented Aug 16, 2022

Thank you for trying! :-)

@edwinRNDR edwinRNDR merged commit b7fc891 into openrndr:master Aug 24, 2022
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

Successfully merging this pull request may close these issues.

4 participants