# TriDefVisualiser.conf
#
# configuration file for TriDef Visualiser.  To be placed in same directory
# as TDV opengl32.dll (where application executable is located)
#
# all the parameters listed here are default values here.  All parameters are
# optional so if you can comment them out or not have a config file at all...

# eye angles is separation of extreme camera viewpoints from center.  You generally
# want to make leftEyeAngle = -rightEyeAngle.  Having a rightEyeAngle < leftEyeAngle
# will result in inverted 3D.  Angles are in degrees.
rightEyeAngle 1.0
leftEyeAngle -1.0


# the point at which the eyes converge.  Everything greater than this value will
# be behind the screen.  Everything less will be in front.
focalPlane 1.0


# a manual scaling factor for focalPlane.  Use when automatic calculation (see
# autoFocalScale) is not satisfactory or not desired.
focalPlaneScale 1.0


# automatically calculate focalPlaneScale (so manually specifying focalPlaneScale
# is not necessary).  This is generally a good idea but if you find that the
# automatic calculation is not satisfactory (or you are trying to create an
# effect) then you can use the manual value as above.
#
# 0 = disable, 1 = enable
autoFocalScale 1


# an offset added to the eye positioning.  This can be helpful for some unusual
# application projective transforms.  But generally make it zero.
cameraZOffset 0.0


# allow keyboard control of parameters.  It may be useful to disable for hands-on
# demos.  0 = disable, 1 = enable
allowUserKeys 1


# a scaling factor for the width of lines.  Lines can look a bit 'fuzzy' due to
# the resolution reduction of the screen.  Setting this to a value like 2.0 may
# improve the appearance of lines in some visualisation applications.
lineWidthScale 1.0


# render in hires.  Or not.  Hires rendering is much better to look at but it
# comes at the expense of rendering performance as more pixels have to be
# drawn.  It's also less compatible with applications.  So, in general, don't
# enable for games (until the driver improves).  0 = disable, 1 = enable
renderHiRes 1


# Select the monitor type.
#
mode SHARP
#mode FDVISION
##mode SYNTHAGRAM
#mode INTERLACED
#mode ANAGLYPH

# SynthaGram parameters.  Simply uncomment one of the pre-defined ones to
# select the screen.  The parameters are:
#
# <pitch> <angle> <init red view> {number of views - 4|6|8|9}
#
# You can specify an optional number of views.  The default is 8.
#
# I am going to use this format for the demo because they may change and we
# NEED flexibility given the limited amount of time...
#
# Obviously, this option is only relevant if you're in SYNTHAGRAM mode,
# as above...
#
##synthParams 2.6355 0.0 2.0  # TEST
synthParams 2.6355 0.3783 0.0  # SG202
#synthParams 2.3955 0.3640 0.0  6 # SG182 NEW
#synthParams 2.3945 0.3640 0.0 4 # SG182 OLD
#synthParams 1.5706  0.1141 4.0  # SG181
#synthParams 1.6825  -0.60086 0.2  # SG421
#synthParams 2.1478  0.366 4.0  # SG231
#synthParams 1.728754754  0.281183716 0.0  # SG422


# Adjust the maximal size of the screen resolution which is dimensions used
# for internal caching textures.
#
#   readbackTextureSize <width> <height>
#
# width and height can be either 512, 1024 or 2048.  You generally don't need
# to adjust this but you can save a lot of memory on a weaker graphics card
# by using this.  For example, if you know that the screen is going to be
# 1280x1024 res (e.g. SG182) then you can set:
#
#   readbackTextureSize 2048 1024
#
# If it's a 1024x768 screen (e.g. SG422)
#
#  readbackTextureSize 1024 1024
#
# default is 2048x2048 which is sufficient for an SG202 (highest res
# display to date).
#
#readbackTextureSize 2048 1024
##readbackTextureSize 2048 2048
readbackTextureSize 1024 1024


# Adjust the drawing scale.  Generally, you want to draw at the same
# res (scale of 1.0) as the original.  If you want to trade off res for
# performance, you can set the scales to less than 1.0.  Range is
# 0.1 and up.
#
#   maxDrawingScale <x scale> <y scale>
#
maxDrawingScale 1.0 1.0

# Sets the logo position. First two numbers define the top right
# corner of the logo (in portion of screen size) and second two 
# define width and height respectively.
# logoTopLeftColour logoTopRightColour logoBottomLeftColour and logoBottomRightColour
# define the colours at the four corners of the image are. Use for fine tuning.
logoPosition 0.8515625 0.802083333333 0.125 0.16666666667
#logoTopLeftColour 255 255 255 10
#logoTopRightColour 255 255 255 10
#logoBottomRightColour 255 255 255 10
#logoBottomLeftColour 255 255 255 10

# Used to set the pbuffer width and height - this will change effective resolution.
# Figures must be a power of 2 (32, 64, 256, 512, 1024, 2048) and current cards do
# not appear to support pbuffer sizes > 2048x2048
pbufferWidth 2048
pbufferHeight 2048

# Whether to run in 2d/3d mode or not. True will display the normal stuff in 2d with an auxilary 3d window,
# false will run in the traditional mode.
duplicate false

# this is the position (first 2 numbers) and size (second 2) of the auxilary window used to display
# the 3d window when working in 2d/3d mode
auxWindowPosition 1024 0 1024 768

# This determines how the visualiser handles the difference in window shape between the 2d window
# and 3d window. Valid values are:
#  PANANDSCAN: similar to the way movies are converted for 4:3 - it cuts off the excess bits of image to 
#              get it down to the correct aspect ratio
#  BLACKBORDER: it displays with black borders around the full source image - like when you watch widescreen
#               source footage on a normal 4:3 tv
duplicateMode BLACKBORDER
#duplicateMode PANANDSCAN

# The factor to 'stretch' the aspect ratio by. 1.33 is correct for the 422, 1 is correct for the 202
##stretchFactor 1.0
stretchFactor 1.33
#stretchFactor 3.0

# This option simplifies capturing a sequence of TriDef Photo files. Each time the numpad 1+9 
# combination is pressed a TriDef Photo file is saved with an incremented counter. This counter
# is reset everytime the application is started.

#triDefPhotoCapturePrefix vis_capture