You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.5 KiB
60 lines
1.5 KiB
package require vtk
|
|
package require vtkinteraction
|
|
|
|
# Demonstrate automatic resampling of textures (i.e., OpenGL only handles
|
|
# power of two texture maps. This examples exercise's vtk's automatic
|
|
# power of two resampling).
|
|
#
|
|
|
|
# get the interactor ui
|
|
|
|
# create pipeline
|
|
#
|
|
# generate texture map (not power of two)
|
|
vtkVolume16Reader v16
|
|
v16 SetDataDimensions 64 64
|
|
[v16 GetOutput] SetOrigin 0.0 0.0 0.0
|
|
v16 SetDataByteOrderToLittleEndian
|
|
v16 SetFilePrefix "$VTK_DATA_ROOT/Data/headsq/quarter"
|
|
v16 SetImageRange 1 93
|
|
v16 SetDataSpacing 3.2 3.2 1.5
|
|
vtkExtractVOI extract
|
|
extract SetInputConnection [v16 GetOutputPort]
|
|
extract SetVOI 32 32 0 63 0 93
|
|
vtkTexture atext
|
|
atext SetInputConnection [extract GetOutputPort]
|
|
atext InterpolateOn
|
|
|
|
# gnerate plane to map texture on to
|
|
vtkPlaneSource plane
|
|
plane SetXResolution 1
|
|
plane SetYResolution 1
|
|
vtkPolyDataMapper textureMapper
|
|
textureMapper SetInputConnection [plane GetOutputPort]
|
|
vtkActor textureActor
|
|
textureActor SetMapper textureMapper
|
|
textureActor SetTexture atext
|
|
|
|
# Create the RenderWindow, Renderer
|
|
#
|
|
vtkRenderer ren1
|
|
vtkRenderWindow renWin
|
|
renWin AddRenderer ren1
|
|
vtkRenderWindowInteractor iren
|
|
iren SetRenderWindow renWin
|
|
|
|
# Add the actors to the renderer, set the background and size
|
|
#
|
|
ren1 AddActor textureActor
|
|
renWin SetSize 250 250
|
|
ren1 SetBackground 0.1 0.2 0.4
|
|
|
|
iren Initialize
|
|
|
|
|
|
iren AddObserver UserEvent {wm deiconify .vtkInteract}
|
|
|
|
# prevent the tk window from showing up then start the event loop
|
|
wm withdraw .
|
|
|
|
|
|
|