Opened 3 years ago

Last modified 3 years ago

#7874 assigned enhancement

Improve ambient shadows with transparent surface

Reported by: goddard@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: Depiction Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        macOS-12.6-x86_64-i386-64bit
ChimeraX Version: 1.6.dev202210202146 (2022-10-20 21:46:10 UTC)
Description
Would be nice to have soft lighting on a transparent molecular surface while the molecule inside has simple lighting.

It is current possible to enable shadows cast by transparent surfaces with command

material transparentCastShadows true

But that makes the molecule inside completely black since the shadows cast treat the surface as entirely opaque, not light reaches inside.  The molecule inside can be made to not show the ambient shadows.  This requires a trick of opening a second copy of the molecule and using command

light model #2 multishadow false

If this command is done on model #1 then it eliminates ambient shadows on the surface model because it is a submodel of #1 (e.g. #1.1) and using #!1 in the command does not have any effect on the atoms or ribbons (which seems like a bug).

At any rate, with those two commands the appearance is horrible because the ambient lighting without shadows on the interior molecule is two bright so it appears flat (uniformly bright).  Turning down the ambient brightness removes the ambient shadowing effect on the surface.  So it does not seem I can get the effect I want of strong ambient shadowing on the transparent surface with good directional lighting on the molecule.


Log:
Could not find tool "Tabbed Toolbar"  
UCSF ChimeraX version: 1.6.dev202210202146 (2022-10-20)  
© 2016-2022 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 7rpi

Summary of feedback from opening 7rpi fetched from pdb  
---  
notes | Fetching compressed mmCIF 7rpi from
http://files.rcsb.org/download/7rpi.cif  
Fetching CCD Y01 from http://ligand-expo.rcsb.org/reports/Y/Y01/Y01.cif  
Fetching CCD AV0 from http://ligand-expo.rcsb.org/reports/A/AV0/AV0.cif  
  
7rpi title:  
Cryo-EM structure of murine Dispatched 'T' conformation [more info...]  
  
Chain information for 7rpi #1  
---  
Chain | Description | UniProt  
A | Protein dispatched homolog 1 | DISP1_MOUSE  
  
Non-standard residues in 7rpi #1  
---  
AV0 — 2-decyl-2-{[(4-O-alpha-D-glucopyranosyl-beta-D-
glucopyranosyl)oxy]methyl}dodecyl 4-O-alpha-D-glucopyranosyl-beta-D-
glucopyranoside (2,2-didecylpropane-1,3-bis-b-D-maltopyranoside)  
NA — sodium ion  
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose (N-acetyl-beta-D-glucosamine;
2-acetamido-2-deoxy-beta-D-glucose; 2-acetamido-2-deoxy-D-glucose;
2-acetamido-2-deoxy-glucose; N-ACETYL-D-GLUCOSAMINE)  
Y01 — cholesterol hemisuccinate  
  

> surface

> lighting soft

> transparency 70

> lighting simple

> lighting soft

> usage material

material [preset] [reflectivity a number] [specularReflectivity a number]
[exponent a number] [ambientReflectivity a number] [transparentCastShadows
true or false] [meshesCastShadows true or false]  
— report or alter material parameters  
preset: one of default, dull, or shiny  

> material transparentCastShadows true

> usage light

lighting [preset] [direction direction] [intensity a number] [color a color]
[fillDirection fillDirection] [fillIntensity a number] [fillColor a color]
[ambientIntensity a number] [ambientColor a color] [depthCue true or false]
[depthCueStart a number] [depthCueEnd a number] [depthCueColor a color]
[moveWithCamera true or false] [shadows true or false] [qualityOfShadows a
text string] [depthBias a number] [multiShadow an integer] [msMapSize an
integer] [msDepthBias a number]  
— report or alter lighting parameters  
preset: one of default, flat, full, gentle, simple, or soft  
direction: some numbers  
fillDirection: some numbers

lighting model models [depthCue true or false] [shadows true or false]
[multiShadow true or false] [directional true or false]  
— Turn off depth cue or shadows for individual models even when globally they
are enabled.  

> lighting model #1 multiShadow false

> lighting model #1 multiShadow true

> set bgColor white

> set bgColor black

> lighting model #!1 multiShadow true

> open 6rpi

Fetching url http://files.rcsb.org/download/6rpi.cif failed:  
HTTP Error 404: Not Found  

> open 7rpi

7rpi title:  
Cryo-EM structure of murine Dispatched 'T' conformation [more info...]  
  
Chain information for 7rpi #2  
---  
Chain | Description | UniProt  
A | Protein dispatched homolog 1 | DISP1_MOUSE  
  
Non-standard residues in 7rpi #2  
---  
AV0 — 2-decyl-2-{[(4-O-alpha-D-glucopyranosyl-beta-D-
glucopyranosyl)oxy]methyl}dodecyl 4-O-alpha-D-glucopyranosyl-beta-D-
glucopyranoside (2,2-didecylpropane-1,3-bis-b-D-maltopyranoside)  
NA — sodium ion  
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose (N-acetyl-beta-D-glucosamine;
2-acetamido-2-deoxy-beta-D-glucose; 2-acetamido-2-deoxy-D-glucose;
2-acetamido-2-deoxy-glucose; N-ACETYL-D-GLUCOSAMINE)  
Y01 — cholesterol hemisuccinate  
  

> lighting model #2 multiShadow false

> transparency 50

> hide #!1 models

> lighting simple

> lighting soft

> lighting simple

> show #!1 models

> hide #1 atoms,ribbons

> lighting multiShadow 128

> lighting multiShadow 0

> lighting multiShadow 128

> transparency 20

> lighting soft

> transparency 50

> color #2 yellow

> color #2 byhetero

> set bgColor white

> graphics silhouettes true

> save /Users/goddard/Desktop/image1.png supersample 3




OpenGL version: 4.1 ATI-4.8.101
OpenGL renderer: AMD Radeon Pro 580 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.

Python: 3.9.11
Locale: UTF-8
Qt version: PyQt6 6.3.1, Qt 6.3.1
Qt runtime version: 6.3.2
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: iMac
      Model Identifier: iMac18,3
      Processor Name: Quad-Core Intel Core i7
      Processor Speed: 4.2 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      L2 Cache (per Core): 256 KB
      L3 Cache: 8 MB
      Hyper-Threading Technology: Enabled
      Memory: 32 GB
      System Firmware Version: 451.140.1.0.0
      OS Loader Version: 540.120.3~22
      SMC Version (system): 2.41f2

Software:

    System Software Overview:

      System Version: macOS 12.6 (21G115)
      Kernel Version: Darwin 21.6.0
      Time since boot: 34 days 18:03

Graphics/Displays:

    Radeon Pro 580:

      Chipset Model: Radeon Pro 580
      Type: GPU
      Bus: PCIe
      PCIe Lane Width: x16
      VRAM (Total): 8 GB
      Vendor: AMD (0x1002)
      Device ID: 0x67df
      Revision ID: 0x00c0
      ROM Revision: 113-D000AA-931
      VBIOS Version: 113-D0001A1X-025
      EFI Driver Version: 01.00.931
      Metal Family: Supported, Metal GPUFamily macOS 2
      Displays:
        iMac:
          Display Type: Built-In Retina LCD
          Resolution: Retina 5K (5120 x 2880)
          Framebuffer Depth: 30-Bit Color (ARGB2101010)
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: Yes
          Connection Type: Internal


Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    appnope: 0.1.3
    asttokens: 2.0.8
    Babel: 2.10.3
    backcall: 0.2.0
    blockdiag: 3.0.0
    build: 0.8.0
    certifi: 2021.10.8
    cftime: 1.6.2
    charset-normalizer: 2.1.1
    ChimeraX-AddCharge: 1.4
    ChimeraX-AddH: 2.2
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2.2
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.7
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.3
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.43.2
    ChimeraX-AtomicLibrary: 8.0.2
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.1
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.7.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.1
    ChimeraX-ChangeChains: 1.0.2
    ChimeraX-CheckWaters: 1.3
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.4
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.2
    ChimeraX-CommandLine: 1.2.4
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.6.dev202210202146
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.3.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.2
    ChimeraX-Dicom: 1.1
    ChimeraX-DistMonitor: 1.3
    ChimeraX-DockPrep: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.2
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.1
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-Label: 1.1.7
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.2
    ChimeraX-Map: 1.1.2
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.1
    ChimeraX-MatchMaker: 2.0.9
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.8
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.6
    ChimeraX-ModelPanel: 1.3.6
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.1
    ChimeraX-MouseModes: 1.1.1
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.9.1
    ChimeraX-PDB: 2.6.8
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.0
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0.1
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.7.3
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.1
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.10
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.1.3
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.1
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.24.2
    ChimeraX-uniprot: 2.2.1
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.1.3
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.1
    ChimeraX-WebServices: 1.1.0
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.5
    cxservices: 1.2
    cycler: 0.11.0
    Cython: 0.29.32
    debugpy: 1.6.3
    decorator: 5.1.1
    docutils: 0.19
    entrypoints: 0.4
    executing: 1.1.1
    filelock: 3.7.1
    fonttools: 4.37.4
    funcparserlib: 1.0.0
    grako: 3.16.5
    h5py: 3.7.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.33
    imagecodecs: 2022.7.31
    imagesize: 1.4.1
    importlib-metadata: 5.0.0
    ipykernel: 6.15.3
    ipython: 8.4.0
    ipython-genutils: 0.2.0
    jedi: 0.18.1
    Jinja2: 3.1.2
    jupyter-client: 7.3.4
    jupyter-core: 4.11.2
    kiwisolver: 1.4.4
    line-profiler: 3.5.1
    lxml: 4.9.1
    lz4: 4.0.2
    MarkupSafe: 2.1.1
    matplotlib: 3.5.2
    matplotlib-inline: 0.1.6
    msgpack: 1.0.4
    nest-asyncio: 1.5.6
    netCDF4: 1.6.0
    networkx: 2.8.5
    numexpr: 2.8.3
    numpy: 1.23.1
    openvr: 1.23.701
    packaging: 21.3
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pexpect: 4.8.0
    pickleshare: 0.7.5
    Pillow: 9.2.0
    pip: 22.2.2
    pkginfo: 1.8.3
    prompt-toolkit: 3.0.31
    psutil: 5.9.1
    ptyprocess: 0.7.0
    pure-eval: 0.2.2
    pycollada: 0.7.2
    pydicom: 2.3.0
    Pygments: 2.12.0
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.9
    PyQt6: 6.3.1
    PyQt6-Qt6: 6.3.2
    PyQt6-sip: 13.4.0
    PyQt6-WebEngine: 6.3.1
    PyQt6-WebEngine-Qt6: 6.3.2
    python-dateutil: 2.8.2
    pytz: 2022.5
    pyzmq: 24.0.1
    qtconsole: 5.3.1
    QtPy: 2.2.1
    RandomWords: 0.4.0
    requests: 2.28.1
    scipy: 1.9.0
    setuptools: 65.1.1
    setuptools-scm: 7.0.5
    sfftk-rw: 0.7.2
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    Sphinx: 5.1.1
    sphinx-autodoc-typehints: 1.19.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    stack-data: 0.5.1
    tables: 3.7.0
    tifffile: 2022.7.31
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.2
    traitlets: 5.3.0
    typing-extensions: 4.4.0
    urllib3: 1.26.12
    wcwidth: 0.2.5
    webcolors: 1.12
    wheel: 0.37.1
    wheel-filename: 1.4.1
    zipp: 3.9.0
File attachment: 7rpi_surf.png

7rpi_surf.png

Attachments (1)

7rpi_surf.png (782.1 KB ) - added by goddard@… 3 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (2)

by goddard@…, 3 years ago

Attachment: 7rpi_surf.png added

Added by email2trac

comment:1 by Tom Goddard, 3 years ago

Component: UnassignedDepiction
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionImprove ambient shadows with transparent surface
Type: defectenhancement

This test was motivated by a talk given by Daniel Asarnow last week at UCSF where he showed many transparent surface images of the Dispatched protein with the protein ribbon and a ligand (lipid). The images he showed had poor depth perception because they had no ambient shadows on the transparent surface for the reasons described in this ticket. This is a pretty common type of image, so being able to use ambient lighting would be desirable.

Note: See TracTickets for help on using tickets.