-
-
Notifications
You must be signed in to change notification settings - Fork 380
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
WIP: Improve Camera Controls #4908
base: master
Are you sure you want to change the base?
Conversation
67540d4
to
54fd6e3
Compare
...I'm still working on this I promise, github just won't let you have an open PR without commits attached. |
- Rename InteractionController->ViewController - Use Body's flag mechanism to exclude bodies from drawing - Pave the way for non-ShipView ViewControllers via SetViewController()
Some fun things are happening on my WIP branches. I've got nothing worth pushing yet, but there are exciting possibilities on the horizon once I figure out how to tie everything together... 2021-05-09.18-13-31.mp4 |
Cool! |
I am aiming to have it directly render the imgui primitives (triangles) superimposed above the surface in the world, to avoid the need for a costly mipmap generation step and to generally produce far more crisp results. There are some issues with that however (lack of clip rect support for one, lack of renderer API features for several more) so for right now it's drawn to a low-res render target (300px square) and the render target's texture is mapped to the screen. For right now, I'd suggest setting up all screens in the cockpit so that each one is a single plane with its own material, covering the 0..1 UV space. It's extremely cheap (at low resolutions and right now) to actually render to the screen so I don't think we need worry about atlasing. It also makes it a lot easier to then select specific atlas regions via push constants (uniforms) rather than trying to manually pack the screens into UV space during creation. |
I've started a work issue for the default cockpit rework over at the overhaul repo/project. |
876b6fc
to
b5bc47c
Compare
90e4530
to
6a3a044
Compare
This is a draft PR encapsulating my work on #4818 and some bugs fixed along the way.
2020-07-06:
Fixed the top/bottom directional indicators pointing the wrong way, removed the need to have an active camera frame during pigui code, made
WorldView::shipView
a pointer instead of a value in the class (why did I do it that way in the first place?), and made target indicator drawing more accurate when the camera is outside the ship.2020-07-10:
Moved the old debug display code from WorldView to the PiGui debug code, cleaned up the last of the newUI references in WorldView, moved it to a PiGuiView base instead of UIView, and removed two signals from Pi that were used for almost nothing.
I'm getting closer to achieving the original goal, but I want a good understanding of the intricacies of WorldView first. Dropping 200 lines from the file is a good side-goal too!