The WireGL system consists of the following files:
- wiregl_client:
This is the OpenGL
library which is loaded by the application. It contains
WireGL's network packing functions of the OpenGL api.
- glcontext:
This is the WireGL state
tracker. It maintains the OpenGL state of the application as
well as performing the bucketing operations.
- wireglutil:
The WireGL utility library. This
contains most of the network abstractions for the WireGL
system.
- pipeserver:
The WireGL rendering server
application. This executable is the rendering server which is
run on each of the server nodes.
- wiregl.conf:
The WireGL configuration file.
This file contains the server locations and layout for the
rendering cluster. See Configuring
WireGL for details on editing wiregl.conf.
- startserver:
A simple shell script which
reruns the pipeserver application after it exits.
- wgl:
A loader application which will run the
application with the WireGL OpenGL library in a temporary
folder to prevent conflicts with the system OpenGL library.
- wiregl:
A library which contains the functions
for writing parallel graphics applications.
WireGL System Files
The WireGL system should the following
files:
Windows | Linux / IRIX |
startserver.bat
pipeserver.exe
wiregl_client.dll
glcontext.dll
wireglutil.dll
wiregl.dll
wiregl.conf
wgl.exe
|
startserver
pipeserver
libwiregl_client.so
libglcontext.so
libwireglutil.so
libwiregl.so
wiregl.conf
wgl
|
Testing WireGL
The software release of WireGL comes
preconfigured for testing using a single machine through the
TCP/IP localhost connection. To test WireGL, perform the
following steps:
- After unpacking the WireGL software, launch a command
prompt.
- Change directories to the folder which contains
the unpacked WireGL software.
- Set the environment variable WIREGL_LIB to wiregl
software folder.
For example on Windows, if the wiregl directory is located at
"c:\wiregl", type the command:
set WIREGL_LIB=c:\wiregl\wiregl_client.dll
This allows the wgl executable to find the WireGL client library. On
Unix, this variable should be set the to full path of the
libwiregl_client.so library. For example,
setenv WIREGL_LIB /home/username/wiregl/libwiregl_client.so
- Add the folder to the system path. For
example on Windows, if the wiregl directory is located at
"c:\wiregl", type the command:
set PATH=%PATH%;c:\wiregl
This allows the client library to find the support libraries. On Unix,
setenv PATH ${PATH}:/home/username/wiregl
Also on Unix, set the LD_LIBRARY_PATH to the wiregl directory:
On Linux:
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/username/wiregl
On IRIX:
setenv LD_LIBRARYN32_PATH ${LD_LIBRARYN32_PATH}:/home/username/wiregl
- Launch the server. Run the pipeserver application in the
background. For Linux, type:
pipeserver &
For Windows, type:
start /b pipeserver
- Launch a demo. Run the atlantis demo by typing:
wgl atlantis
If you have followed the above steps, the atlantis demo should be
rendering to the pipeserver window, while the application window is
empty.
Installing WireGL
These steps are virtually
identical to the above steps however you will need to modify
the wiregl.conf file to match your configuration.
- Setup the folders. Copy the wiregl folder to each of the
rendering server machines.
- Set the environment
variable WIREGL_LIB to OpenGL client library in the gl folder
inside the wiregl directory. For example on Windows, if the
client directory is located at "c:\wiregl", type the
command:
set WIREGL_LIB=c:\wiregl\wiregl_client.dll
This allows the wgl executable to find the WireGL client library. On
Unix, this variable should be set the to full path of the
libwiregl_client.so library. For example,
setenv WIREGL_LIB /home/username/wiregl/libwiregl_client.so
- Add the wiregl folder to the system path. For example on
Windows, if the wiregl directory is located at
"c:\wiregl", type the command:
set PATH=%PATH%;c:\wiregl
This allows the client library to find the support libraries.
- Setup the wiregl.conf file with the proper server
configuration. For details on how to do this, see Configuring WireGL.conf. Place the
resulting wiregl.conf file in the same folder as the OpenGL
application to be run on the cluster.
- Launch the server. On each server machine, run the
startserver script. This will start the pipeserver executable.
- Test the cluster. Change directories to the application
to be run on the cluster. Type
wgl applicationname
The application should now appear on the cluster.
Installing the Windows Service
The pipeserver application can be run in
the background as a Windows Service. This allows the WireGL server to
always be running on a particular machine regarless of whether a user
is logged in at the machine.
To install the service type:
pipeserver -install
This will install the pipeserver service in the system registry. By
default the service is started at boot time. To start the service
manually, type:
net start wiregl
To stop the service, type:
net stop wiregl
To uninstall the service, run:
pipeserver -remove
This will stop the service and remove it from the system registry.