Opened 6 years ago

Closed 6 years ago

#2127 closed enhancement (duplicate)

Silhouettes on transparent drawings

Reported by: tic20@… 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 Eric Pettersen, 6 years ago

Cc: Elaine Meng added
Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionSilhouettes on transparent drawings
Type: defectenhancement

This behavior is used deliberately (and with striking effect) in the "G-Protein Switch Regions" image gallery image.

in reply to:  2 ; comment:2 by tic20@…, 6 years ago

Fair enough - thought that might be the case. :)


 


in reply to:  3 ; comment:3 by Elaine Meng, 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 Tom Goddard, 6 years ago

Resolution: duplicate
Status: assignedclosed

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.

Note: See TracTickets for help on using tickets.