|
|
(7 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
| Displays like the CAVE can be formed in various configurations. In ParaView these configurations can be specified using the PVX configuration XML file.
| | Contents |
| | |
| ==Where to specify this?==
| |
| * pvx file can be specified as the last command line argument for any of the server processes.
| |
| * Typically the pvx file is specified for all the executables whose environment is being changed using the pvx file. In case of data-server/render-server configuration, if you are setting up the environment for the two processes groups, then the pvx file must be passed as a command line option to both the executables: pvdataserver and pvrenderserver.
| |
| * When running in parallel the file is read on all nodes, hence must be present on all nodes.
| |
| | |
| ==Structure==
| |
| | |
| <!-- <source lang="xml"> -->
| |
| <!-- <?xml version="1.0" ?> -->
| |
| <!-- <pvx> -->
| |
| <!-- <Process Type="server|dataserver|renderserver"> -->
| |
| <!-- <\!-- -->
| |
| <!-- The only supported Type values are "server", "dataserver" or "renderserver". -->
| |
| <!-- This controls which executable this configuration is applicable to. -->
| |
| <!-- There can be multiple <Process /> elements in the same pvx file. -->
| |
| <!-- ------------------------------------------------------ -->
| |
| <!-- | Executable | Applicable Process Type | -->
| |
| <!-- | pvserver | server, dataserver, renderserver | -->
| |
| <!-- | pvrenderserver | server, renderserver | -->
| |
| <!-- | pvdataserver | server, dataserver | -->
| |
| <!-- ------------------------------------------------------ -->
| |
| <!-- -\-> -->
| |
| <!-- <Machine name="hostname" -->
| |
| <!-- Environment="DISPLAY=m1:0" -->
| |
| <!-- LowerLeft="-1.0 -1.0 -1.0" -->
| |
| <!-- LowerRight="1.0 -1.0 -1.0" -->
| |
| <!-- UpperLeft="-1.0 1.0 -1.0"> -->
| |
| <!-- <\!-- -->
| |
| <!-- There can be multiple <Machine> elements in a <Process> element, -->
| |
| <!-- each one identifying the configuration for a process. -->
| |
| <!-- All attributes are optional. -->
| |
| <!-- name="hostname" -->
| |
| <!-- Environment: the environment for the process. -->
| |
| <!-- LowerLeft|LowerRight|UpperLeft : CAVE configuration parameters applicable -->
| |
| <!-- for versions 3.8 or latter only. -->
| |
|
| |
| <!-- -\-> -->
| |
| <!-- </Machine> -->
| |
| <!-- </Process> -->
| |
| <!-- </pvx> -->
| |
| <!-- </source> -->
| |
| * Only 2 vectors ([LowerRight - LowerLef] and [UpperLeft - LowerLeft]) are needed, the third vector is computed from these 2.
| |
| | |
| == Cave Rendering ==
| |
| ===Instructions===
| |
| * Turn on <code>PARAVIEW_USE_MPI</code> and <code>PARAVIEW_USE_ICE_T</code>
| |
| * run the servers using the pvx file: <code>mpiexec -np 2 pvserver cave.pvx</code>
| |
| * start and connect a client
| |
| === Notes ===
| |
| * See below for an example of a cave configuration file
| |
| <source lang="xml">
| |
| <?xml version="1.0" ?>
| |
| <pvx>
| |
| <Process Type="client" />
| |
| <Process Type="server">
| |
| <!-- 2 render windows will be created on the machine Erna:
| |
| the first rendering has a camera looking forward,
| |
| the second rendering has a camera looking backward -->
| |
| <Machine Name="Erna"
| |
| Environment="DISPLAY=:0"
| |
| <!-- Camera looks forward:
| |
| dx = 2, dy = 2, dz = -2
| |
| Z = -2 defines the view angle -->
| |
| LowerLeft="-1 -1 -2"
| |
| LowerRight="1 -1 -2"
| |
| UpperLeft="-1 1 -2" />
| |
| <Machine Name="Erna"
| |
| Environment="DISPLAY=:0"
| |
| <!-- Camera looks backward:
| |
| dx = -2, dy = 2, dz = 2
| |
| Z = 2 defines the distance from the camera to the view plane -->
| |
| LowerLeft="1 -1 2"
| |
| LowerRight="-1 -1 2"
| |
| UpperLeft="1 1 2" />
| |
| </Process>
| |
| </pvx>
| |
| </source>
| |
| * See vtkCaveRenderManager::ComputeCamera for more information on how the coordinates are used to configure the cameras
| |
| * The rendering on the server is full screen by default. If you want the windows to be smaller for debugging, set the environment variable PV_ICET_WINDOW_BORDERS=1 on the client machine.
| |