|PathEngine home||previous: ||next: |
The testbed binaries included with the base SDK archive require Microsoft Windows, on x86 or x64 architecure,
with DirectX 9 or greater installed.
The testbed can also be built for Linux, with the source code packages.
When executed, the testbed will look for a test application to load, which should be compiled either as a windows DLL (on Windows), or shared library (on Linux).
By default, the testbed will look for a dll (or so) with name 'TestApplication' using the default OS search path. (So, first of all in the testbed's working directory, and then in an OS specific set of other search locations.)
Usually, however, the application to be loaded will be specified as a command line argument (see below).
Control of execution is passed over to this test application after the testbed has initialised.
The test application controls what is drawn every frame and may also include arbitrary control logic.
The testbed handles default control and positioning of the camera and details of rendering the scene.
|windowsize=width,height||Sets the testbed window size to the specified width and height.|
Tells the testbed to use dllname instead of 'testapplication.dll'.
This name can include a relative or absolute path to the dll.
(The string is simply passed into LoadLibrary().)
This argument should be supplied last.
|nosound||Start without initialising sound libraries (where supported).|
|checknooutstandingrefs||Emits a warning if there are outstanding API object references after the testbed application exits.|
So, for example running the testbed with the command line "testbed windowsize=1270,720 app=SemiDynamicObstacles" will open a window with width 1270 pixels and height 720 pixels, and then load and run 'SemiDynamicObstacles.dll' as a testbed application.
The SDK archive includes batch files to run some of the example applications (e.g. see 'SDKRoot/bin/run SemiDynamicObstacles.bat').
This enables command line arguments to be set for each time a certain testbed application is run, without requiring any kind of install or setup set dependant on the chosen install directory.
To rotate, pan or zoom the camera hold one of the following keys while moving the mouse:
Effect of mouse movement
|Left shift + '3'||Dolly (not usually required now that the testbed performs automatic camera target adjustment, see below)|
An alternative (maya style) set of controls is also provided:
Effect of mouse movement
|Left control + Left mouse button||Rotate|
|Left control + Middle mouse button||Pan|
|Left control + Left and middle mouse buttons||Zoom|
|Left shift + Left control + Left and middle mouse buttons||Dolly (not usually required now that the testbed performs automatic camera target adjustment, see below)|
In some situations, being able to rotate a 3D camera intuitively depends on having the camera target set correctly (since this is effectively used as a centre position for camera rotation).
To help with this, a white cross is displayed at the camera target when any of the camera controls are active.
If necessary, it is possible to force the camera to 'dolly' instead of 'zoom', by holding the left shift key.
This essentially means that both camera position and camera target are moved backward or forward instead of just the camera position.
The testbed also performs a kind of automatic camera adjustment, which means that manual dolly is not necessary in most situations.
Basically, if the mouse is over a mesh when you start panning then distance to camera target will be set according to the distance to that mesh position.
Any subsequence rotations will then be based on this distance, and generally feel more intuitive.
The testbed can be toggled between windowed and full screen modes by holding the left shift key and pressing the right mouse button.
|Documentation for PathEngine release 6.03 - Copyright © 2002-2021 PathEngine||next: |