Opened 6 years ago
Closed 6 years ago
#2127 closed enhancement (duplicate)
Silhouettes on transparent drawings
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Graphics | Version: | |
| Keywords: | Cc: | Elaine Meng | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Linux-3.10.0-957.12.2.el7.x86_64-x86_64-with-centos-7.6.1810-Core ChimeraX Version: 0.91 (2019-06-25) Description Cartoon tethers (and I suppose other drawings?) with opacity set to zero still get outlined when silhouettes is true. Log: Startup Messages --- warning | 'clip' is a prefix of an existing command 'clipper' UCSF ChimeraX version: 0.91 (2019-06-25) © 2016-2019 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open 6o6c 6o6c title: RNA polymerase II elongation complex arrested at a CPD lesion [more info...] Chain information for 6o6c #1 --- Chain | Description A | DNA-directed RNA polymerase II subunit RPB1 B | DNA-directed RNA polymerase II subunit RPB2 C | DNA-directed RNA polymerase II subunit RPB3 D | DNA-directed RNA polymerases I, II, and III subunit RPABC1 E | DNA-directed RNA polymerases I, II, and III subunit RPABC2 F | DNA-directed RNA polymerases I, II, and III subunit RPABC3 G | DNA-directed RNA polymerase II subunit RPB9 H | DNA-directed RNA polymerases I, II, and III subunit RPABC5 I | DNA-directed RNA polymerase II subunit RPB11 J | DNA-directed RNA polymerases I, II, and III subunit RPABC4 K | RNA (5'-R(P*ap*up*CP*GP*ap*GP*ap*GP*G)-3') L | DNA (5'-D(P*GP*GP*ap*GP*ap*ap*GP*GP*ap*GP*CP*ap*GP*ap*GP*C)-3') M | DNA (27-mer) Non-standard residues in 6o6c #1 --- MG — magnesium ion ZN — zinc ion > show selAtoms ribbons > style selAtoms stick Changed 30166 atom styles > set bgColor white > set silhouettes true > cofr centerOfView > cofr centerOfView showPivot true > usage cartoon style cartoon style [atoms] [width a number] [thickness a number] [arrows true or false] [arrowsHelix true or false] [arrowScale arrowScale] [xsection xsection] [sides sides] [divisions divisions] [barScale a number] [barSides barSides] [modeHelix modeHelix] [radius radius] — set cartoon style for secondary structures in specified models arrowScale: a number ≥ 1.0 and ≤ 5.0 xsection: one of barbell, oval, piping, rectangle, round, or square sides: an even integer ≥ 3 and ≤ 24 divisions: an integer ≥ 2 and ≤ 40 barSides: an even integer ≥ 3 and ≤ 24 modeHelix: one of default, tube, or wrap radius: a number or auto > usage cartoon tether cartoon tether [structures] [scale scale] [shape shape] [sides sides] [opacity opacity] — set cartoon tether options for specified structures scale: a number ≥ 0.0 and ≤ 1.0 shape: one of cone, cylinder, or steeple sides: an integer ≥ 3 and ≤ 24 opacity: a number ≥ 0.0 and ≤ 1.0 > cartoon tether opacity 0 OpenGL version: 3.3.0 NVIDIA 415.27 OpenGL renderer: TITAN Xp/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation
Change History (4)
comment:1 by , 6 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Graphics |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Silhouettes on transparent drawings |
| Type: | defect → enhancement |
follow-up: 3 comment:3 by , 6 years ago
True, sometimes it is wanted! I’ve seen publications making very good use of that ghostly silhouettes-only appearance. The situation where I’d like to get rid of them is fading a ligand out in a morph movie while the protein is changing conformation (thus not amenable to using crossfade). I’d like the ability to have it either way, but if that’s not feasible there are arguments for keeping the current behavior. A related issue is that silhouettes do not appear to be affected by depth cueing. I.e. they are immune from the “mist” in the back of a scene with light-colored background, and whether it should be that way may be a matter of personal preference.
comment:4 by , 6 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | assigned → closed |
Making silhouettes transparent is requested in ticket #607.
Silhouettes are drawn by a post-processing of the OpenGL depth buffer, finding where the depth jumps from near at one pixel to far at a neighbor pixel. It does not consider transparency. It might be possible to have the silhouette edge transparency match the transparency of front pixel, but currently the transparency (OpenGL alpha-channel) is not saved. This would require changes to the OpenGL shaders to keep track of the transparency of the top-most rendered layer. I think this is too complex to implement and maintain given our limited resources.
In general the hack of setting an object's (in this case ribbon tether's) transparency to 100% to make it invisible is a hack, and other mechanisms to hide the objects should be considered. I realize it is an expedient hack because there is no other method for ribbon tethers.
This behavior is used deliberately (and with striking effect) in the "G-Protein Switch Regions" image gallery image.