Gaze Contigent Display: User Manual
Overview
gazecd is an implementation of a Gaze-Contingent Display which utilizes modern graphics hardware to achieve real-time frame rates.
Installing
You can either install gazecd from a source tarball or a binary package.
Source Distribution
The following instructions assume an UNIX environment.
After downloading a source tarball, untar the tarball as follows:
> tar xzvf gazecd-0.1.tar.gz
where gazecd-0.1.tar.gz is the name of the tarball.
To compile gazecd type:
> scons
in the gazecd-0.1 directory. This will build the gazecd binaries in the current directory.
Binary Distribution
We do not currently release gazecd in binary form.
Running
After installing gazecd, the follwing binaries will be in the root directory of the gazecd distribution:
gazecd-sdl | A SDL based version of gazecd. |
gazecd-glut | A GLUT based version of gazecd. |
gcv-sdl | A SDL based version of gazecd. This version of gazecd is capable of playing videos. Note that gcv-sdl should not be invoked directly. Instead gcv.sh should be ran. |
To start gazecd type:
> gazecd.sh image_file degradation_mask
Command Line Options
gazecd supports the following command line options:
Window Dimensions
-w and -h control the size of the window.
For example:
> gazecd.sh -w 800 -h 600
Scaling
-s controls how the stimulus image is scaled within gazecd's window. Given the following 294x200 image, and a 640x480 image, the given scale options have the following effect:
ASPECT |
Scales the image to fit the window while maintaining the stimulus image's aspect ratio. This is the default scaling option. |
STRETCH |
Scales the image to fit the window. |
NONE |
Centers the image in the window. Does not scale the image. |
For example:
> gazecd.sh -s STRETCH
Mipmapping
-m controls the hardware mipmapping bias. The default is GL_LINEAR_MIPMAP_LINEAR.
GL_LINEAR_MIPMAP_LINEAR |
|
GL_NEAREST_MIPMAP_LINEAR |
|
GL_LINEAR_MIPMAP_NEAREST |
|
GL_NEAREST_MIPMAP_NEAREST |
|
For example:
> gazecd.sh -m GL_NEAREST_MIPMAP_NEAREST
Shaders
-p defines which fragment program is loaded.
-v defines which vertex program is loaded.
For example:
> gazecd.sh -p glaucoma.fp
Degradation Channel Mask
The red, green, and blue channels of the degradation mask can be controlled to simulate vision related diesease which degrade color information. Each argument to the following flags should be square greyscale image. The default is fill each channel with white.
-r controls the red channel of the degradation mask.
-g controls the green channel of the degradation mask.
-b controls the blue channel of the degradation mask.
For example:
> gazecd.sh -r white.ppm -g falloff.ppm -b blind.ppm
Here's is an example of a channel in the degradation mask:
Gaze Driver
-z sets which device controls the gaze point in the Gaze-Contingent Display. The default is MOUSE.
Flags
The following flags can be passed on the command line.
Runtime Options
gazecd supports the following runtime options.
Pressing 1-4 changes the mipmapping bias.
Pressing F12 takes a screenshot. It writes screenshot.ppm to the current directory.