Zebra - Control Points not visible in Ghosted mode

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)

Ghosted

Shaded

X-Ray

Rhino 9 SR0 2025-2-12 (Rhino WIP, 9.0.25043.12305, Git hash:master @ 0249c67d360290375279f28fef45f8e36f865128)
License type: Commercial, build 2025-02-12
License details: Cloud Zoo
Expires on: 2025-03-29

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

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 9 WIP\Plug-ins\Commands.rhp “Commands” 9.0.25043.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 9 WIP\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 9.0.25043.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 9.0.25043.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 9 WIP\Plug-ins\MeshCommands.rhp “MeshCommands” 9.0.25043.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\RhinoCycles.rhp “RhinoCycles” 9.0.25043.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 9.0.25043.12305
C:\Program Files\Rhino 9 WIP\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 9 WIP\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 9 WIP\Plug-ins\SectionTools.rhp “SectionTools”

1 Like

Logged it and thanks for your report @davidcockey

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…

  1. TestToggleControlPointsToFront
  2. 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.

-J

@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.

Ghosted mode:

X-Ray mode

1 Like

Those test commands don’t work with curves? I only recently learned about _BringToFront, but I can’t get any value out of it.

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.

Thanks @EricM and @davidcockey…

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.

Thanks,
-Jeff

1 Like

Will TestToggleControlPointsToFront be in the next V8 SRC? I can try the next WIP, but it’s a bit early to daily drive it.

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.

-J

You know what… I changed my mind… I’m just gonna roll the dice on this one… These changes will be in the V8 service release candidate.

Please let me know asap if/when you find any issues.

Thanks,
-Jeff

Will do, and it’s very much appreciated.

It’s not working in 8.17.25056.13001, 2025-02-25. I tried with and without BringToFront on the curve.

RH-86077 says this was put into the 8.x branch. That’s not the SRC branch. At this point, and 6 days ago, 8.x is 8.18.
-wim

1 Like

Ya, sorry about that… it was too close for my comfort level to roll it into 8.17… so it went into 8.x…which as Wim noted, is currently 8.18.

If you’d like, I can provide you with a link to 8.x…just let me know.

As a side note… You can run GetIssueState to see if a given bug report fix is in the version you’re running.

-J

2 Likes

Yep, it’s working in the first SRC for 8.18.

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.

@wim should I break this into a separate post to get it added as a feature request for v9?