# "Depth cue" setting in gizmo

I have a complicated 3D plot (scatter plus paths) in the Gizmo. To simplify the view, I'd like to make the furthest point away from the viewer more translucent. This is referred to as "depth cue" in other programs like PyMol. See https://pymolwiki.org/index.php/Depth_cue . The fog stays at the back of the window, while you rotate your object.

Is this possible in a Gizmo windows using attributes? I've tried a bunch of things but I am kind of stuck. Previously I have coloured the points or paths according to z-depth, e.g. from black through to white. This looks good but only works for viewing along one axis. I'm using IP7.
Since AG (the Gizmo guru) has not responded yet, I will offer a vague concept that builds on your observation of satisfactory coloring by z-depth. Keep the Gizmo frame in a fixed orientation that provides the z-depth, and do independent rotations of the ensemble of your data objects using push-rotate-(..data objects..)-pop ordering of the Gizmo display list. You will have to then use ModifyGizmo code to change the object rotations, either from the command line, or SetValue controls and functions (you can't use the mouse because the Gizmo frame would move).
I just tried a quick test of my idea with a simple scatter and path example. It does not seem to work; the z-value colors seem to rotate with the objects, and do not vary as the apparent z location. A way around this might be to do a mathematical data rotation operation on the objects' x,y,z coordinates. You would have to calculate the rotation transformation matrix and then do a MatrixOP multiplication on your 3D coordinate data.
Additional: Attached is Gizmo graphic of Scatter and Path plots, after rotating the underlying x,y,z data -30 degrees around the 'Y' axis. The initial Z-scale coloring is maintained; an added light is used to accentuate the features, and is optional.
Yes, I see what you mean. Though I think moving the coordinates themselves poses more problems because I have three different objects, each with a lot of points. But I could calculate the "distance from the viewer" and use this for a colorwave from a set viewing angle.
sjr51 wrote:
I have a complicated 3D plot (scatter plus paths) in the Gizmo. To simplify the view, I'd like to make the furthest point away from the viewer more translucent. This is referred to as "depth cue" in other programs like PyMol. See https://pymolwiki.org/index.php/Depth_cue . The fog stays at the back of the window, while you rotate your object.

Fog was possible in IP6 Gizmo under userLevel=9. I was not aware of a single user who asked for or used fog in the last 15 years but this example application certainly makes it worth exploring for a future version. I'm on vacation today so I have limited access or time to change anything but I'll look for a way to give you access to fog.

A.G.
WaveMetrics, Inc.
That would be great. I'd like to use for making movies too, since it should prevent the optical illusions with rotating cubes. Thank you!
It turns out that fog was deprecated by OpenGL >3.1 so I am not inclined to try and bring it back in IP7 or IP7+.

There may be various pragmatic approaches to obtaining the desired effect. In this instance you are displaying an extended object that would require a color wave for specification. Adding a "fog" to a color wave can be simple/constant or you can use something along the lines of: http://www.terathon.com/lengyel/Lengyel-UnifiedFog.pdf

A.G.
WaveMetrics, Inc.