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.
63 lines
1.7 KiB
63 lines
1.7 KiB
#
|
|
# This simple example shows how to render a very large image (i.e., one
|
|
# that cannot fit on the screen).
|
|
#
|
|
|
|
# We start off by loading some Tcl modules. One is the basic VTK library;
|
|
# the second is a package for rendering, and the last includes a set
|
|
# of color definitions.
|
|
#
|
|
package require vtk
|
|
package require vtkinteraction
|
|
package require vtktesting
|
|
|
|
# We'll import some data to start. Since we are using an importer, we've
|
|
# got to give it a render window and such. Note that the render window
|
|
# size is set fairly small.
|
|
vtkRenderer ren
|
|
ren SetBackground 0.1 0.2 0.4
|
|
vtkRenderWindow renWin
|
|
renWin AddRenderer ren
|
|
renWin SetSize 125 125
|
|
vtkRenderWindowInteractor iren
|
|
iren SetRenderWindow renWin
|
|
|
|
vtk3DSImporter importer
|
|
importer SetRenderWindow renWin
|
|
importer SetFileName "$VTK_DATA_ROOT/Data/Viewpoint/iflamigm.3ds"
|
|
importer ComputeNormalsOn
|
|
importer Read
|
|
|
|
# We'll set up the view we want.
|
|
#
|
|
[ren GetActiveCamera] SetPosition 0 1 0
|
|
[ren GetActiveCamera] SetFocalPoint 0 0 0
|
|
[ren GetActiveCamera] SetViewUp 0 0 1
|
|
|
|
# Let the renderer compute a good position and focal point.
|
|
#
|
|
ren ResetCamera
|
|
[ren GetActiveCamera] Dolly 1.4
|
|
ren ResetCameraClippingRange
|
|
|
|
# render the large image
|
|
#
|
|
iren AddObserver UserEvent {wm deiconify .vtkInteract}
|
|
wm withdraw .
|
|
|
|
# Here we request that the large image is four times bigger than the
|
|
# renderers image.
|
|
#
|
|
vtkRenderLargeImage renderLarge
|
|
renderLarge SetInput ren
|
|
renderLarge SetMagnification 4
|
|
|
|
# We write out the image which causes the rendering to occur. If you
|
|
# watch your screen you will see the pieces being rendered right after
|
|
# one another.
|
|
#
|
|
vtkTIFFWriter writer
|
|
writer SetInputConnection [renderLarge GetOutputPort]
|
|
writer SetFileName largeImage.tif
|
|
writer Write
|
|
|
|
|