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

CameraControllers need more love, documentation etc. #42

Open
haraldsteinlechner opened this issue Aug 6, 2019 · 2 comments
Open

CameraControllers need more love, documentation etc. #42

haraldsteinlechner opened this issue Aug 6, 2019 · 2 comments

Comments

@haraldsteinlechner
Copy link
Member

In rendering we have AdaptiveFunc based camera controllers which have the advantage of precise dependency tracking with support for dependency triggered rendering and animations.
There is also afun in base which is the interface the AdaptiveFuncs implemented. Unfortunately some combinators take afuns, some AdaptiveFuncs. Here, definitely, some consolidation and documentation is needed.
The camera controller story continues in aardvark.media, where we have a legacy camera controller https://github.com/aardvark-platform/aardvark.media/blob/master/src/Aardvark.UI.Primitives/LegacyCameraController.fs which is approachable and easy to work with. Later we introduced another one with better interpolation scheme: https://github.com/aardvark-platform/aardvark.media/blob/master/src/Aardvark.UI.Primitives/FreeFlyController.fs#L412 which again is rather complex.
A wiki entry explaining camera controller approaches and how to approach animations would be a nice one.

@haraldsteinlechner
Copy link
Member Author

@dallinbeutler
Copy link
Contributor

dallinbeutler commented Sep 10, 2019

I'm struggling with this a bit still. Even having some comments in FreeFlyController explaining some of the math, would be great.
And AttributeMap combined with Incremental.renderControlWithClientValues is THE way to inject messages from default Aardium window/Div events to camera messages? A little info on that class and workflow would be wonderful.

I'm not really stuck stuck. I just figured I'd provide some things that are a little more confusing for a beginner like me.

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

No branches or pull requests

2 participants