| PathEngine home | previous: | next: |
The testbed is found in the 'bin' subdirectory of the release, and comprises the following files:
testbed.exe
font.bmp
texture.bmp
The testbed included in this release requires Microsoft Windows, on x86 architecure, with DirectX 9 or greater installed.
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
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.
|
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.
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) |
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.29 - Copyright © 2002-2012 PathEngine | next: |