Surface control points are not visible against the surface in Ghost mode when Zebra is turned on. See images below for comparison of Ghost mode with Shaded and X-Ray mode. Surface editing is impossible in Ghosted mode with Zebra on.
Work In Progress
(9.0.25043.12305, 2025-02-12)
Windows 11 (10.0.26100 SR0.0) or greater (Physical RAM: 64GB)
.NET 7.0.20
Computer platform: DESKTOP
Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce RTX 2080 Ti (NVidia) Memory: 11GB, Driver date: 9-26-2024 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 565.90
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port 0
OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)
Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High
Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 9-26-2024
Driver Version: 32.0.15.6590
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 11 GB
This is typical transparent behavior… For dense surfaces (i.e. lots of points), you can lose track of which points are which if/when all depth information is ignored. In your example, it wouldn’t be a problem, but there are real world examples where a similar surface can/will have a few thousand control points.
There are two test commands that provide workarounds for those who would rather not have depth tested control points in these situations…
TestToggleControlPointsToFront
TestToggleAnalysisControlPoints
However, they’re kind of quirky atm, and tend to get out-of-sync for some reason (which is why they’re still test commands)… Just run the command until you get the desired behavior (it’s best to run the command once you’re in an analysis mode)… You’ll probably want the second command for Zebra analysis… but if you are editing surfaces in Ghosted mode as well, then you’ll want the first one.
I’ll see if I can tune up the quirkiness to keep things in sync…but for now, this is the only solution to this problem.
@jeff Thanks, but you misunderstood the problem I reported. It is not about how control points are generally displayed in Ghosted mode or any other display mode. It is specific to surfaces displaying Zebra stripes in Ghosted mode only, not in Shaded, X-Ray, or any other display mode I’ve tested, and began with Rhino 6.
The problem is in Ghosted mode for surfaces displaying Zebra stripe the control points between the camera and the Zebra surface are not visible.
For surfaces not displaying Zebra stripes the control points between the camera and the surface are visible.
This only occures in Ghosted mode, not in Shaded, X-Ray, or any other display mode I’ve tested.
See screen capture below. Control points are turned on for both surfaces. Not the difference.
I would love to be able to edit a construction curve through a shaded surface. I’m frequently in a situation where I’m looking at a shaded viewport while I manipulate it via a ghosted viewport. Accidental gumball clicks are a frequent occurance.
Looking into this a little here, I can see some issues and misuse of some of the buffering mechanisms, which is causing these inconsistencies… And curve objects are just completely ignoring the test command state.
That being said, I’ve made a few tweaks and it looks like things are back on track…at least based on my expectations. The short video shows surface and curve control points (in shaded and ghosted modes) being toggled on/off using the first test command I mentioned… The second test command (for analysis modes), is enabled by default in the V9 WIP, so that’s why you don’t see me running that command once I enable Zebra.
Anyways, I’ll get this wrapped/tuned up and put into the next WIP release… Please bang on it and let me know what I’ve missed and what I’ve probably messed up.
It’s in there now…but unfortunately, as I mentioned, it’s not working as expected. Since I’m changing how and when certain objects are drawing, I’d rather not put that into a service release. However, if after testing it out for a while in the WIP, you find things are working correctly with no other signs of messing up…then I can back port the changes to V8.
I know you didn’t build this for my use case, but I would love to have this for editing in shaded mode. To that end, there are two usability issues:
CPs have to be LMB selectable. It breaks the Rhino UX to not be able to click on something selectable that you can see. I’m still having to Alt window select to get occluded points, although the visibility is a welcome improvement.
This needs to be a per object, i.e. added to the _BringToFront command. An application wide setting clutters the viewport.
All that said, it appears to be quite useful. I dedicated a button to it because it’s hard to toggle on and off being a test command.