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.
64 lines
1.7 KiB
64 lines
1.7 KiB
2 years ago
|
#
|
||
|
# 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
|
||
|
|