PathEngine home previous: Memory Trackingnext: Shape Validation
Contents, Programmers Guide, Applying the SDK, Working with the TestBed

Working with the TestBed

The testbed is found in the 'bin' subdirectory of the release, and comprises the following files:

testbed.exe
font.bmp
texture.bmp

Requirements

The testbed included in this release requires Microsoft Windows, on x86 architecure, with DirectX 9 or greater installed.

Starting the testbed

To launch the testbed, run 'testbed.exe' from within the bin directory.

The testbed will look for a test application compiled as a windows DLL, and named 'testapplication.dll', in the current directory.
Control of execution is passed over to this test application after the testbed has initialised.
See Linking with the TestBed for details about linkage between the testbed and this dll.

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.

Command line arguments

Argument
Explanation
windowsize=width,height Sets the testbed window size to the specified width and height.
notdinput Tells the testbed to use alternative code paths for mouse control that avoid using direct input.
This can solve problems with jerkiness when the testbed is interrupted by a debugger.
app=dllname 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.

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.

Controlling the camera

To rotate, pan or zoom the camera hold one of the following keys while moving the mouse:

Hold down
Effect of mouse movement
'1' Rotate
'2' Pan
'3' Zoom
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:

Hold down
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)

Advanced camera controls

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.


Documentation for PathEngine release 5.24 - Copyright © 2002-2010 PathEnginenext: Shape Validation