Can I make a mirror?

Lisa Sobierajski Avila lisa.avila at kitware.com
Fri Dec 3 16:42:32 EST 1999


<x-flowed>Tom,

The lighting calculations in VTK are performed by OpenGL using local 
illumination only. The specular highlight is simply a reflection of the 
light source - not a reflection of the scene. You can use the RIB exporter 
to bring your scene into renderman if you want global illumination.

Lisa

At 02:33 PM 12/3/99 -0600, Tom G. Smith wrote:
>You'll see in the attached Tcl script, I'm displaying a Moebius Strip,
>and I'm trying to implement a refective mirror underneath it that
>remains oriented to the camera, and shows the reflection of the
>underside of the Moebius Strip as the camera rotates around it.
>But regardless of what I do with the Specular, Ambient, and Diffuse
>parameters, nothing shows up in the mirror.
>
>A second problem I'm having is, the mirror seems to wobble as I
>move the camera.  I suspect this is because I'm using the wrong
>coordinate system to orient the mirror, but if anybody has a suggestion,
>it'd be appreciated.
>
>sym.tcl:
>............................................................................
>set Pi [expr acos(-1)] ;# Approx. 3.14159265359
>set Degrees [expr 180/$Pi] ;# Conversion factor, degrees to radians.
>
>source startup.tcl ;# Initialize vtk.
>source colors.tcl ;# Define colors
>
># Create triangle strip for Moebius. --------------------------------
>set stripwidth 1
>set stripradius [expr 1*$stripwidth]
>         # Radius of circle about which center is rotated.
>set zc [expr $stripwidth/2.0];# z-coordinate of center of strip
>set pointcount [expr 1 << 9] ;# Evaluates to 512. Same as 2**9 in perl.
>set xscale 1;# scale factor to elongate graphic
>set yscale 2;# scale factor to elongate graphic
>set zscale 1;# scale factor to elongate strip size.
>vtkPoints points
>vtkCellArray strip
>strip InsertNextCell [expr $pointcount+2];#number of points
>set n 0
>while {$n <= $pointcount+1} {
>         if [expr !($n % 2)] {
>                 set angle [expr 2*$Pi*$n/$pointcount]
>                         # angle around center of mobius.
>                 set rotate [expr $angle/2]
>                         # angle of strip rotation.
>                 set xc [expr cos($angle)*$stripradius]
>                         # x-coordinate of center of strip.
>                 set yc [expr sin($angle)*$stripradius]
>                         # y-coordinate of center of strip.
>                 set ac [expr $angle+$Pi]
>                 if {$ac > 2*$Pi} {
>                         set ac [expr $ac - 2*$Pi]
>                 }
>                         # angle with respect to center of strip of
>                         # line across strip, intersecting with mobius center,
>                         # projected on x-y plane.
>                 set r [expr abs(sin($rotate)*$zc)]
>                         # length of strip projected onto x-y plane.
>                 set sign 1
>         } else {
>                 set sign -1
>         }
>         set x [expr ($xc+$sign*cos($ac)*$r)*$xscale]
>         set y [expr ($yc+$sign*sin($ac)*$r)*$yscale]
>         set z [expr ($zc+$sign*cos($rotate)*$zc)*$zscale]
>         points InsertPoint $n $x $y $z
>         strip InsertCellPoint $n
>         incr n
>}
>vtkPolyData profile
>     profile SetPoints points
>     profile SetStrips strip
>vtkPolyDataMapper map
>     map SetInput profile
>vtkActor mobius
>     mobius SetMapper map
>     eval {[mobius GetProperty] SetColor } $colors(steel_blue)
>     [mobius GetProperty] BackfaceCullingOff
>ren1 AddActor mobius
>ren1 SetBackground 1 1 1 ;# Sets background to white.
>
># Add text. --------------------------------------------------
>vtkTextMapper textMapper
>     textMapper SetInput "Modeling Symposium 2000"
>     textMapper SetFontSize 18
>     textMapper SetFontFamilyToArial
>     textMapper BoldOn
>     textMapper ItalicOn
>     textMapper ShadowOn
>vtkActor2D textActor
>     textActor SetMapper textMapper
>     textActor SetPosition 45 150
>     eval {[textActor GetProperty] SetColor } $colors(chocolate)
>ren1 AddActor2D textActor
>
># Define the mirror. --------------------------------------------------
>vtkPoints planepoints
>vtkCellArray planepoly
>planepoly InsertNextCell 4; # First thing in a new cell is the point count.
>set v {{-1 -1 1} {1 -1 1} {1 1 -1} {-1 1 -1}}
>set f 2.5
>set i 0
>while {$i < 4} {
>         set t [lindex $v $i]
>         set x [expr [lindex $t 0]*$f]
>         set y [expr ([lindex $t 1]-1.5)*$f]
>         set z [expr [lindex $t 2]*$f]
>         planepoints InsertPoint $i $x $y $z
>         planepoly InsertCellPoint $i; # Add point id.
>         incr i
>}
>vtkPolyData plane
>plane SetPoints planepoints; planepoints Delete
>plane SetPolys planepoly; planepoly Delete
>vtkPolyDataMapper planeMapper
>         planeMapper SetInput plane
>vtkFollower planeActor
>         planeActor SetMapper planeMapper
>         planeActor SetCamera [ren1 GetActiveCamera]
>         eval {[planeActor GetProperty] SetColor} $colors(grey)
>         [planeActor GetProperty] SetOpacity 1
>         [planeActor GetProperty] SetSpecularPower 200
>         [planeActor GetProperty] SetSpecular .5
>         [planeActor GetProperty] SetAmbient .5
>         [planeActor GetProperty] SetDiffuse .5
>ren1 AddActor planeActor ;# assign our actor to the renderer
>
>source go.tcl ;# Start the Interactor and display the image.
>
>startup.tcl:
>............................................................................
>#!/usr/bin/tcl
>#-----------------------------------------------------------------------
># Description:  This Tcl script can be sourced to get the typical
># vtk initialization.
>#-----------------------------------------------------------------------
># Changelog:
># 991007 Smitty created.
>#-----------------------------------------------------------------------
>catch {load vtktcl} ;# Load the shared vtk libraries.
>source /opt/vtk/examplesTcl/vtkInt.tcl ;# Get the interactor ui.
>vtkRenderer ren1
>         # vtkRenderer provides an abstract specification for renderers. A
>         # renderer is an object that controls the rendering process for
>         # objects. Rendering is the process of converting geometry,
>         # a specification for lights, and a camera view into an
>         # image. vtkRenderer also performs coordinate transformation
>         # between world coordinates, view coordinates (the computer
>         # graphics rendering coordinate system), and display coordinates
>         # (the actual screen coordinates on the display device).
>vtkRenderWindow renWin
>         # vtkRenderWindow is an abstract object to specify the behavior
>         # of a rendering window. A rendering window is a window
>         # in a graphical user interface where renderers draw their
>         # images. Methods are provided to synchronize the rendering
>         # process, set window size, and control double buffering.
>   renWin AddRenderer ren1
>         # Associate renderer ren1 with renWin.
>vtkRenderWindowInteractor iren
>         # vtkRenderWindowInteractor is a convenience object that provides
>         # event bindings to common graphics functions.  Here's a brief
>         # summary.  See http://www.kitware.com/vtkhtml/vtkdata/manhtml/
>         # vtkRenderWindowInteractor.html for more detail:
>         # Mouse bindings:
>         #       camera: Button 1 - rotate
>         #               Button 2 - pan
>         #               Button 3 - zoom
>         #               ctrl-Button 1 - spin
>         #       actor:  Button 1 - rotate
>         #               Button 2 - pan
>         #               Button 3 - uniform scale
>         #               ctrl-Button 1 - spin
>         #               ctrl-Button 2 - dolly.
>         # Keyboard bindings (upper or lower case):
>         # j - joystick like mouse interactions
>         # t - trackball like mouse interactions
>         # o - object/actor interaction
>         # c - camera interaction
>         # r - reset camera view
>         # w - turn all actors wireframe
>         # s - turn all actors surface
>         # u - execute user defined function
>         # p - pick actor under mouse pointer (if pickable)
>         # 3 - toggle in/out of 3D mode (if supported by renderer)
>         # e - exit
>         # q - exit
>   iren SetRenderWindow renWin
>         # Associate renderwindow renWin with interactor iren.
>
>
>colors.tcl:
>............................................................................
>#-----------------------------------------------------------------------
># Description:  This Tcl script can be sourced to build an array of
># RGB color values.  It's a copy of /opt/vtk/examplesTcl/colors.tcl,
># with a lot of changes.
>#-----------------------------------------------------------------------
># Changelog:
># 991020 Smitty created.
>#-----------------------------------------------------------------------
>
>#  Whites
>set colors(antique_white)  "0.9804 0.9216 0.8431"
>set colors(azure)  "0.9412 1.0000 1.0000"
>set colors(bisque)  "1.0000 0.8941 0.7686"
>set colors(blanched_almond)  "1.0000 0.9216 0.8039"
>set colors(cornsilk)  "1.0000 0.9725 0.8627"
>set colors(eggshell)  "0.9900 0.9000 0.7900"
>set colors(floral_white)  "1.0000 0.9804 0.9412"
>set colors(gainsboro)  "0.8627 0.8627 0.8627"
>set colors(ghost_white)  "0.9725 0.9725 1.0000"
>set colors(honeydew)  "0.9412 1.0000 0.9412"
>set colors(ivory)  "1.0000 1.0000 0.9412"
>set colors(lavender)  "0.9020 0.9020 0.9804"
>set colors(lavender_blush)  "1.0000 0.9412 0.9608"
>set colors(lemon_chiffon)  "1.0000 0.9804 0.8039"
>set colors(linen)  "0.9804 0.9412 0.9020"
>set colors(mint_cream)  "0.9608 1.0000 0.9804"
>set colors(misty_rose)  "1.0000 0.8941 0.8824"
>set colors(moccasin)  "1.0000 0.8941 0.7098"
>set colors(navajo_white)  "1.0000 0.8706 0.6784"
>set colors(old_lace)  "0.9922 0.9608 0.9020"
>set colors(papaya_whip)  "1.0000 0.9373 0.8353"
>set colors(peach_puff)  "1.0000 0.8549 0.7255"
>set colors(seashell)  "1.0000 0.9608 0.9333"
>set colors(snow)  "1.0000 0.9804 0.9804"
>set colors(thistle)  "0.8471 0.7490 0.8471"
>set colors(titanium_white)  "0.9900 1.0000 0.9400"
>set colors(wheat)  "0.9608 0.8706 0.7020"
>set colors(white)  "1.0000 1.0000 1.0000"
>set colors(white_smoke)  "0.9608 0.9608 0.9608"
>set colors(zinc_white)  "0.9900 0.9700 1.0000"
>
>#  Greys
>set colors(cold_grey)  "0.5000 0.5400 0.5300"
>set colors(dim_grey)  "0.4118 0.4118 0.4118"
>set colors(grey)  "0.7529 0.7529 0.7529"
>set colors(light_grey)  "0.8275 0.8275 0.8275"
>set colors(slate_grey)  "0.4392 0.5020 0.5647"
>set colors(slate_grey_dark)  "0.1843 0.3098 0.3098"
>set colors(slate_grey_light)  "0.4667 0.5333 0.6000"
>set colors(warm_grey)  "0.5000 0.5000 0.4100"
>
>#  Blacks
>set colors(black)  "0.0000 0.0000 0.0000"
>set colors(ivory_black)  "0.1600 0.1400 0.1300"
>set colors(lamp_black)  "0.1800 0.2800 0.2300"
>
>#  Reds
>set colors(alizarin_crimson)  "0.8900 0.1500 0.2100"
>set colors(brick)  "0.6100 0.4000 0.1200"
>set colors(cadmium_red_deep)  "0.8900 0.0900 0.0500"
>set colors(coral)  "1.0000 0.4980 0.3137"
>set colors(coral_light)  "0.9412 0.5020 0.5020"
>set colors(deep_pink)  "1.0000 0.0784 0.5765"
>set colors(english_red)  "0.8300 0.2400 0.1000"
>set colors(firebrick)  "0.6980 0.1333 0.1333"
>set colors(geranium_lake)  "0.8900 0.0700 0.1900"
>set colors(hot_pink)  "1.0000 0.4118 0.7059"
>set colors(indian_red)  "0.6900 0.0900 0.1200"
>set colors(light_salmon)  "1.0000 0.6275 0.4784"
>set colors(madder_lake_deep)  "0.8900 0.1800 0.1900"
>set colors(maroon)  "0.6902 0.1882 0.3765"
>set colors(pink)  "1.0000 0.7529 0.7961"
>set colors(pink_light)  "1.0000 0.7137 0.7569"
>set colors(raspberry)  "0.5300 0.1500 0.3400"
>set colors(red)  "1.0000 0.0000 0.0000"
>set colors(rose_madder)  "0.8900 0.2100 0.2200"
>set colors(salmon)  "0.9804 0.5020 0.4471"
>set colors(tomato)  "1.0000 0.3882 0.2784"
>set colors(venetian_red)  "0.8300 0.1000 0.1200"
>
>#  Browns
>set colors(beige)  "0.6400 0.5800 0.5000"
>set colors(brown)  "0.5000 0.1647 0.1647"
>set colors(brown_madder)  "0.8600 0.1600 0.1600"
>set colors(brown_ochre)  "0.5300 0.2600 0.1200"
>set colors(burlywood)  "0.8706 0.7216 0.5294"
>set colors(burnt_sienna)  "0.5400 0.2100 0.0600"
>set colors(burnt_umber)  "0.5400 0.2000 0.1400"
>set colors(chocolate)  "0.8235 0.4118 0.1176"
>set colors(deep_ochre)  "0.4500 0.2400 0.1000"
>set colors(flesh)  "1.0000 0.4900 0.2500"
>set colors(flesh_ochre)  "1.0000 0.3400 0.1300"
>set colors(gold_ochre)  "0.7800 0.4700 0.1500"
>set colors(greenish_umber)  "1.0000 0.2400 0.0500"
>set colors(khaki)  "0.9412 0.9020 0.5490"
>set colors(khaki_dark)  "0.7412 0.7176 0.4196"
>set colors(light_beige)  "0.9608 0.9608 0.8627"
>set colors(peru)  "0.8039 0.5216 0.2471"
>set colors(rosy_brown)  "0.7373 0.5608 0.5608"
>set colors(raw_sienna)  "0.7800 0.3800 0.0800"
>set colors(raw_umber)  "0.4500 0.2900 0.0700"
>set colors(sepia)  "0.3700 0.1500 0.0700"
>set colors(sienna)  "0.6275 0.3216 0.1765"
>set colors(saddle_brown)  "0.5451 0.2706 0.0745"
>set colors(sandy_brown)  "0.9569 0.6431 0.3765"
>set colors(tan)  "0.8235 0.7059 0.5490"
>set colors(van_dyke_brown)  "0.3700 0.1500 0.0200"
>
>#  Oranges
>set colors(cadmium_orange)  "1.0000 0.3800 0.0100"
>set colors(cadmium_red_light)  "1.0000 0.0100 0.0500"
>set colors(carrot)  "0.9300 0.5700 0.1300"
>set colors(dark_orange)  "1.0000 0.5490 0.0000"
>set colors(mars_orange)  "0.5900 0.2700 0.0800"
>set colors(mars_yellow)  "0.8900 0.4400 0.1000"
>set colors(orange)  "1.0000 0.5000 0.0000"
>set colors(orange_red)  "1.0000 0.2706 0.0000"
>set colors(yellow_ochre)  "0.8900 0.5100 0.0900"
>
>#  Yellows
>set colors(aureoline_yellow)  "1.0000 0.6600 0.1400"
>set colors(banana)  "0.8900 0.8100 0.3400"
>set colors(cadmium_lemon)  "1.0000 0.8900 0.0100"
>set colors(cadmium_yellow)  "1.0000 0.6000 0.0700"
>set colors(cadmium_yellow_light)  "1.0000 0.6900 0.0600"
>set colors(gold)  "1.0000 0.8431 0.0000"
>set colors(goldenrod)  "0.8549 0.6471 0.1255"
>set colors(goldenrod_dark)  "0.7216 0.5255 0.0431"
>set colors(goldenrod_light)  "0.9804 0.9804 0.8235"
>set colors(goldenrod_pale)  "0.9333 0.9098 0.6667"
>set colors(light_goldenrod)  "0.9333 0.8667 0.5098"
>set colors(melon)  "0.8900 0.6600 0.4100"
>set colors(naples_yellow_deep)  "1.0000 0.6600 0.0700"
>set colors(yellow)  "1.0000 1.0000 0.0000"
>set colors(yellow_light)  "1.0000 1.0000 0.8784"
>
>#  Greens
>set colors(chartreuse)  "0.4980 1.0000 0.0000"
>set colors(chrome_oxide_green)  "0.4000 0.5000 0.0800"
>set colors(cinnabar_green)  "0.3800 0.7000 0.1600"
>set colors(cobalt_green)  "0.2400 0.5700 0.2500"
>set colors(emerald_green)  "0.0000 0.7900 0.3400"
>set colors(forest_green)  "0.1333 0.5451 0.1333"
>set colors(green)  "0.0000 1.0000 0.0000"
>set colors(green_dark)  "0.0000 0.3922 0.0000"
>set colors(green_pale)  "0.5961 0.9843 0.5961"
>set colors(green_yellow)  "0.6784 1.0000 0.1843"
>set colors(lawn_green)  "0.4863 0.9882 0.0000"
>set colors(lime_green)  "0.1961 0.8039 0.1961"
>set colors(mint)  "0.7400 0.9900 0.7900"
>set colors(olive)  "0.2300 0.3700 0.1700"
>set colors(olive_drab)  "0.4196 0.5569 0.1373"
>set colors(olive_green_dark)  "0.3333 0.4196 0.1843"
>set colors(permanent_green)  "0.0400 0.7900 0.1700"
>set colors(sap_green)  "0.1900 0.5000 0.0800"
>set colors(sea_green)  "0.1804 0.5451 0.3412"
>set colors(sea_green_dark)  "0.5608 0.7373 0.5608"
>set colors(sea_green_medium)  "0.2353 0.7020 0.4431"
>set colors(sea_green_light)  "0.1255 0.6980 0.6667"
>set colors(spring_green)  "0.0000 1.0000 0.4980"
>set colors(spring_green_medium)  "0.0000 0.9804 0.6039"
>set colors(terre_verte)  "0.2200 0.3700 0.0600"
>set colors(viridian_light)  "0.4300 1.0000 0.4400"
>set colors(yellow_green)  "0.6039 0.8039 0.1961"
>
>#  Cyans
>set colors(aquamarine)  "0.4980 1.0000 0.8314"
>set colors(aquamarine_medium)  "0.4000 0.8039 0.6667"
>set colors(cyan)  "0.0000 1.0000 1.0000"
>set colors(cyan_white)  "0.8784 1.0000 1.0000"
>set colors(turquoise)  "0.2510 0.8784 0.8157"
>set colors(turquoise_dark)  "0.0000 0.8078 0.8196"
>set colors(turquoise_medium)  "0.2824 0.8196 0.8000"
>set colors(turquoise_pale)  "0.6863 0.9333 0.9333"
>
>#  Blues
>set colors(alice_blue)  "0.9412 0.9725 1.0000"
>set colors(blue)  "0.0000 0.0000 1.0000"
>set colors(blue_light)  "0.6784 0.8471 0.9020"
>set colors(blue_medium)  "0.0000 0.0000 0.8039"
>set colors(cadet)  "0.3725 0.6196 0.6275"
>set colors(cobalt)  "0.2400 0.3500 0.6700"
>set colors(cornflower)  "0.3922 0.5843 0.9294"
>set colors(cerulean)  "0.0200 0.7200 0.8000"
>set colors(dodger_blue)  "0.1176 0.5647 1.0000"
>set colors(indigo)  "0.0300 0.1800 0.3300"
>set colors(manganese_blue)  "0.0100 0.6600 0.6200"
>set colors(midnight_blue)  "0.0980 0.0980 0.4392"
>set colors(navy)  "0.0000 0.0000 0.5020"
>set colors(peacock)  "0.2000 0.6300 0.7900"
>set colors(powder_blue)  "0.6902 0.8784 0.9020"
>set colors(royal_blue)  "0.2549 0.4118 0.8824"
>set colors(slate_blue)  "0.4157 0.3529 0.8039"
>set colors(slate_blue_dark)  "0.2824 0.2392 0.5451"
>set colors(slate_blue_light)  "0.5176 0.4392 1.0000"
>set colors(slate_blue_medium)  "0.4824 0.4078 0.9333"
>set colors(sky_blue)  "0.5294 0.8078 0.9216"
>set colors(sky_blue_deep)  "0.0000 0.7490 1.0000"
>set colors(sky_blue_light)  "0.5294 0.8078 0.9804"
>set colors(steel_blue)  "0.2745 0.5098 0.7059"
>set colors(steel_blue_light)  "0.6902 0.7686 0.8706"
>set colors(turquoise_blue)  "0.0000 0.7800 0.5500"
>set colors(ultramarine)  "0.0700 0.0400 0.5600"
>
>#  Magentas
>set colors(blue_violet)  "0.5412 0.1686 0.8863"
>set colors(cobalt_violet_deep)  "0.5700 0.1300 0.6200"
>set colors(magenta)  "1.0000 0.0000 1.0000"
>set colors(orchid)  "0.8549 0.4392 0.8392"
>set colors(orchid_dark)  "0.6000 0.1961 0.8000"
>set colors(orchid_medium)  "0.7294 0.3333 0.8275"
>set colors(permanent_red_violet)  "0.8600 0.1500 0.2700"
>set colors(plum)  "0.8667 0.6275 0.8667"
>set colors(purple)  "0.6275 0.1255 0.9412"
>set colors(purple_medium)  "0.5765 0.4392 0.8588"
>set colors(ultramarine_violet)  "0.3600 0.1400 0.4300"
>set colors(violet)  "0.5600 0.3700 0.6000"
>set colors(violet_dark)  "0.5804 0.0000 0.8275"
>set colors(violet_red)  "0.8157 0.1255 0.5647"
>set colors(violet_red_medium)  "0.7804 0.0824 0.5216"
>set colors(violet_red_pale)  "0.8588 0.4392 0.5765"
>
>proc showcolors {} {
>#------------------------------------------------------------------
># Called to display all the possible color names.
>#------------------------------------------------------------------
>         global colors
>
>         foreach key [lsort [array names colors]] {
>                 set value $colors($key)
>                 puts "$key=$value"
>         }
>} ;# End showcolors.
>
>proc tablecolors {tablename colornames {count 0}} {
>#------------------------------------------------------------------
># Called to build a vtkLookupTable object based on a list of
># color names.  If count is greater than the number of colors in
># colornames, the table will be built with $count entries and the
># colors in colornames will be cycled to fill out the table.
>#------------------------------------------------------------------
>         global colors
>
>         if {$count < 1} { set count [llength $colornames]; }
>         upvar $tablename lut
>         vtkLookupTable lut
>         lut SetNumberOfColors $count
>                 # Specify the number of values (i.e., colors) in the lookup
>                 # table. This method simply allocates memory and prepares the
>                 # table for use with SetTableValue(). It differs from Build()
>                 # method in that the allocated memory is not initialized
>                 # according to HSVA ramps.
>         lut SetTableRange 0 [expr $count - 1]
>                 # Declared as "void SetTableRange(float r[2]);" in
>                 # vtkLookupTable.h.  I found source for it in
>                 # vtkLookupTable.cxx that looks like this, in part:
>                 #   void  vtkLookupTable::SetTableRange(float min, float max)
>                 #   { this->TableRange[0] = min; this->TableRange[1] = max; }
>         lut Build
>                 # Build is a virtual function inherited from 
> vtkScalarsToColors
>                 # class, where it's declared as "virtual void Build() {};".
>                 # The actual source for it is in vtkLookupTable.cxx.
>                 # Using pre-established (perhaps default) values for
>                 # HueRange, SaturationRange, ValueRange, and AlphaRange,
>                 # it builds the specified set of colors (see 
> SetNumberOfColors
>                 # and SetTableRange above).
>         set ix 0; # Color table index.
>         set jx 0; # Color name index.
>         while {$ix < $count} {
>                 set name [lindex $colornames $jx]
>                 incr jx
>                 if {$jx == [llength $colornames]} { set jx 0; }
>                 if {![info exists colors($name)]} {
>                         puts "ERROR: Color $name is not defined."
>                         exit 1
>                 }
>                 set cmd "lut SetTableValue $ix $colors($name) 1"
>                 eval $cmd
>                         # SetTableValue expects 5 arguments:
>                         # 1.    The index (relative 0) of the colortable 
> entry
>                         #       to be set.
>                         # 2.    The red component of the RGB value.
>                         #       A number from 0 to 1.
>                         # 3.    The green component of the RGB value.
>                         #       A number from 0 to 1.
>                         # 4.    The blue component of the RGB value.
>                         #       A number from 0 to 1.
>                         # 5.    The alpha, or transparency, component.
>                         #       A number from 0 to 1, 1 being totally opaque.
>                 incr ix
>         }
>} ;# End tablecolors.
>
>go.tcl:
>............................................................................
>#!/usr/bin/tcl
>#-----------------------------------------------------------------------
># Description:  This Tcl script can be sourced to get the typical
># vtk code to start the interactor, and to display the final image.
>#-----------------------------------------------------------------------
># Changelog:
># 991013 Smitty created.
>#-----------------------------------------------------------------------
>iren SetUserMethod {wm deiconify .vtkInteract}; # Enable user interactor.
>iren Initialize; # render the image
>wm withdraw .;  # prevent tk window from showing up, then start the event 
>loop.
>
>
>
>-----------------------------------------------------------------------------
>This is the private VTK discussion list.  Please keep messages on-topic.
>Check the FAQ at: <http://www.automatrix.com/cgi-bin/vtkfaq>
>To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
><majordomo at gsao.med.ge.com>.  For help, send message body containing
>"info vtkusers" to the same address.     Live long and prosper.
>-----------------------------------------------------------------------------




-----------------------------------------------------------------------------
This is the private VTK discussion list.  Please keep messages on-topic.
Check the FAQ at: <http://www.automatrix.com/cgi-bin/vtkfaq>
To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
<majordomo at gsao.med.ge.com>.  For help, send message body containing
"info vtkusers" to the same address.     Live long and prosper.
-----------------------------------------------------------------------------

</x-flowed>



More information about the vtkusers mailing list