Changeset 3913


Ignore:
Timestamp:
Sep 10, 2013, 5:11:37 PM (6 years ago)
Author:
ldelgass
Message:

Split out volume shading parameters in nanovis viewers to give more control
over lighting/brightness

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gui/scripts/nanovisviewer.tcl

    r3901 r3913  
    220220        $this-ypan              $_view(ypan)
    221221        $this-volume            1
     222        $this-ambient           20
     223        $this-diffuse           80
     224        $this-light2side        1
     225        $this-opacity           100
     226        $this-specularLevel     30
     227        $this-specularExponent  90
     228        $this-thickness         350
     229        $this-transp            50
    222230        $this-cutplaneVisible   0
    223231        $this-xcutplane         1
     
    962970        }
    963971
    964         InitSettings light2side light transp isosurface grid axes \
     972        InitSettings light2side ambient diffuse specularLevel specularExponent \
     973            transp isosurface grid axes \
    965974            xcutplane ycutplane zcutplane
    966975
     
    12111220    }
    12121221    switch -- $what {
    1213         light {
    1214             set val $_settings($this-light)
    1215             set diffuse [expr {0.01*$val}]
    1216             set ambient [expr {1.0-$diffuse}]
    1217             set specularLevel 0.3
    1218             set specularExp 90.0
    1219             SendCmd "volume shading ambient $ambient"
    1220             SendCmd "volume shading diffuse $diffuse"
    1221             SendCmd "volume shading specularLevel $specularLevel"
    1222             SendCmd "volume shading specularExp $specularExp"
     1222        ambient {
     1223            set val $_settings($this-ambient)
     1224            set val [expr {0.01*$val}]
     1225            SendCmd "volume shading ambient $val"
     1226        }
     1227        diffuse {
     1228            set val $_settings($this-diffuse)
     1229            set val [expr {0.01*$val}]
     1230            SendCmd "volume shading diffuse $val"
     1231        }
     1232        specularLevel {
     1233            set val $_settings($this-specularLevel)
     1234            set val [expr {0.01*$val}]
     1235            SendCmd "volume shading specularLevel $val"
     1236        }
     1237        specularExponent {
     1238            set val $_settings($this-specularExponent)
     1239            SendCmd "volume shading specularExp $val"
    12231240        }
    12241241        light2side {
     
    17301747
    17311748itcl::body Rappture::NanovisViewer::BuildVolumeTab {} {
    1732     foreach { key value } {
    1733         light2side      1
    1734         light           40
    1735         transp          50
    1736         opacity         100
    1737         thickness       350
    1738     } {
    1739         set _settings($this-$key) $value
    1740     }
    1741 
    17421749    set inner [$itk_component(main) insert end \
    17431750        -title "Volume Settings" \
     
    17571764        -command [itcl::code $this AdjustSetting light2side]
    17581765
    1759     label $inner.dim -text "Glow" -font $fg
    1760     ::scale $inner.light -from 0 -to 100 -orient horizontal \
    1761         -variable [itcl::scope _settings($this-light)] \
     1766    label $inner.ambient_l -text "Ambient" -font $fg
     1767    ::scale $inner.ambient -from 0 -to 100 -orient horizontal \
     1768        -variable [itcl::scope _settings($this-ambient)] \
    17621769        -width 10 \
    1763         -showvalue off -command [itcl::code $this AdjustSetting light]
    1764     label $inner.bright -text "Surface" -font $fg
    1765 
    1766     label $inner.fog -text "Clear" -font $fg
     1770        -showvalue off -command [itcl::code $this AdjustSetting ambient]
     1771
     1772    label $inner.diffuse_l -text "Diffuse" -font $fg
     1773    ::scale $inner.diffuse -from 0 -to 100 -orient horizontal \
     1774        -variable [itcl::scope _settings($this-diffuse)] \
     1775        -width 10 \
     1776        -showvalue off -command [itcl::code $this AdjustSetting diffuse]
     1777
     1778    label $inner.specularLevel_l -text "Specular" -font $fg
     1779    ::scale $inner.specularLevel -from 0 -to 100 -orient horizontal \
     1780        -variable [itcl::scope _settings($this-specularLevel)] \
     1781        -width 10 \
     1782        -showvalue off -command [itcl::code $this AdjustSetting specularLevel]
     1783
     1784    label $inner.specularExponent_l -text "Shininess" -font $fg
     1785    ::scale $inner.specularExponent -from 10 -to 128 -orient horizontal \
     1786        -variable [itcl::scope _settings($this-specularExponent)] \
     1787        -width 10 \
     1788        -showvalue off -command [itcl::code $this AdjustSetting specularExponent]
     1789
     1790    label $inner.clear -text "Clear" -font $fg
    17671791    ::scale $inner.transp -from 0 -to 100 -orient horizontal \
    17681792        -variable [itcl::scope _settings($this-transp)] \
    17691793        -width 10 \
    17701794        -showvalue off -command [itcl::code $this AdjustSetting transp]
    1771     label $inner.plastic -text "Opaque" -font $fg
    1772 
    1773     label $inner.clear -text "Clear" -font $fg
    1774     ::scale $inner.opacity -from 0 -to 100 -orient horizontal \
    1775         -variable [itcl::scope _settings($this-opacity)] \
    1776         -width 10 \
    1777         -showvalue off -command [itcl::code $this AdjustSetting opacity]
    17781795    label $inner.opaque -text "Opaque" -font $fg
    17791796
     
    18171834        1,0 $inner.shading -cspan 4 -anchor w -pady {10 2} \
    18181835        2,0 $inner.light2side -cspan 4 -anchor w -pady 2 \
    1819         3,0 $inner.dim -anchor e -pady 2 \
    1820         3,1 $inner.light -cspan 2 -pady 2 -fill x \
    1821         3,3 $inner.bright -anchor w -pady 2 \
    1822         4,0 $inner.fog -anchor e -pady 2 \
    1823         4,1 $inner.transp -cspan 2 -pady 2 -fill x \
    1824         4,3 $inner.plastic -anchor w -pady 2 \
    1825         5,0 $inner.thin -anchor e -pady 2 \
    1826         5,1 $inner.thickness -cspan 2 -pady 2 -fill x\
    1827         5,3 $inner.thick -anchor w -pady 2
     1836        3,0 $inner.ambient_l -anchor e -pady 2 \
     1837        3,1 $inner.ambient -cspan 3 -pady 2 -fill x \
     1838        4,0 $inner.diffuse_l -anchor e -pady 2 \
     1839        4,1 $inner.diffuse -cspan 3 -pady 2 -fill x \
     1840        5,0 $inner.specularLevel_l -anchor e -pady 2 \
     1841        5,1 $inner.specularLevel -cspan 3 -pady 2 -fill x \
     1842        6,0 $inner.specularExponent_l -anchor e -pady 2 \
     1843        6,1 $inner.specularExponent -cspan 3 -pady 2 -fill x \
     1844        7,0 $inner.clear -anchor e -pady 2 \
     1845        7,1 $inner.transp -cspan 2 -pady 2 -fill x \
     1846        7,3 $inner.opaque -anchor w -pady 2 \
     1847        8,0 $inner.thin -anchor e -pady 2 \
     1848        8,1 $inner.thickness -cspan 2 -pady 2 -fill x\
     1849        8,3 $inner.thick -anchor w -pady 2
    18281850
    18291851    blt::table configure $inner c0 c1 c3 r* -resize none
    1830     blt::table configure $inner r6 -resize expand
     1852    blt::table configure $inner r9 -resize expand
    18311853}
    18321854
Note: See TracChangeset for help on using the changeset viewer.