953 lines
39 KiB
Plaintext
953 lines
39 KiB
Plaintext
# Triton's configuration file - this is read at initialization time, so restart Triton
|
|
# after making changes here.
|
|
|
|
#########################################################################################
|
|
# General Settings
|
|
#########################################################################################
|
|
|
|
# Set this to yes for troubleshooting - additional error information may be sent
|
|
# to your debugger's output window.
|
|
enable-debug-messages = no
|
|
|
|
# With this, error messages will pop up in an alert box. Useful for troubleshooting
|
|
# installed applications in the field where you don't have a debugging environment
|
|
enable-debug-alert-messages = no
|
|
|
|
# Set this to yes for troubleshooting - additional error information may be sent
|
|
# to the console
|
|
enable-debug-messages-to-console = no
|
|
|
|
# Sets debug names for OpenGL, DirectX
|
|
# Currently only implemented for OpenGL
|
|
enable-renderer-object-names = no
|
|
|
|
# Depending on the setting of use-uniform-buffer-objects, and support for UBOs
|
|
# (depending on your card/driver), Triton may or may not use UBOs. Therefore
|
|
# the uniform declarations (if you want to refer to them in the user shaders) are different
|
|
# in each case. The recommended way to use such uniforms is to change/pass them via
|
|
# the user functions directly from Triton's shaders. In some cases however, developers still
|
|
# prefer the uniforms to be available in the user shaders (especially whilst some new
|
|
# functionality is being worked out. To support this you can use this flag.
|
|
gl-uniforms-available-in-usershaders = no
|
|
|
|
# Ensure thread safety when calling Triton::Ocean public methods via a mutex object.
|
|
# If you are sure you will only call Triton from a single thread, this may be disabled.
|
|
thread-safe = yes
|
|
|
|
# The default resolution of the projected grid used to render the ocean geometry
|
|
# Note, this should be an odd number to make the horizon line align with a row
|
|
# edge. Set this higher to reduce aliasing artifacts when moving, or lower to
|
|
# gain more performance.
|
|
default-grid-resolution = 513
|
|
default-grid-resolution-mac = 257
|
|
|
|
# In geocentric / ECEF coordinate systems, the altitude (in meters) below which
|
|
# we switch to a planar approximation of the local surface to avoid precision issues
|
|
grid-planar-height = 2000
|
|
|
|
# Uses double precision calculations when projecting the grid onto an ellipsoid
|
|
# inside Triton's shaders in WGS84 systems. Requires modern drivers and hardware,
|
|
# but can help a lot with precision issues like stair-stepping in zoomed-in views.
|
|
ellipsoid-double-precision = no
|
|
|
|
# Calculates a smooth horizon for the projected grid
|
|
ellipsoid-smooth-horizon = no
|
|
|
|
# Whether the water surface is drawn as double sided. This is needed for when the
|
|
# camera is inside wave troughs, but may cause some anomalies when the water is
|
|
# both rough and transparent.
|
|
grid-double-sided = yes
|
|
|
|
# Adjustment to the water height when switching from ellipsoid to planar representations
|
|
# to account for precision loss
|
|
planar-adjust = 0
|
|
|
|
# Controls how aggressively the projected grid is expanded to prevent clipping at the corners
|
|
# when the camera rotates.
|
|
grid-clip-factor = 4.0
|
|
|
|
# The maximum amount the projected grid is allowed to expand to allow for wave displacements
|
|
# close to the surface. Setting this too high results in a loss of resolution and more
|
|
# aliasing when close to the ocean surface, but setting it too low could result in the
|
|
# ocean surface not filling the screen.
|
|
max-allowable-displacement = 3.0
|
|
|
|
# A fudge factor to ensure the projected grid fills the screen at extreme horizon rotations and
|
|
# offsets
|
|
grid-expansion-scale = 1.3
|
|
|
|
# A nudge on the horizon line in screen space to avoid precision issues in the vertex programs.
|
|
grid-horizon-offset = -0.001
|
|
|
|
# Whether Triton makes a copy of your height map (set via Environment::SetHeightMap) into
|
|
# system memory, to ensure height queries reflect coastal effects. Set to yes for accurate
|
|
# height queries near shoreline, or no to avoid the overhead and blocking associated with
|
|
# this copy.
|
|
do-height-map-copy = yes
|
|
|
|
# The default ocean depth (in world units) used inside the shaders if a height map query outside of
|
|
# the height map's area is made.
|
|
shader-default-depth = 1000.0
|
|
|
|
# Whether a pixel buffer object is used in OpenGL to asynchronously copy the height map
|
|
# to system memory. This can prevent stalls when calling Environment::SetHeightMap, but
|
|
# is dependant on what the driver does. Note that setting this will require that a valid
|
|
# GL context is present when calling both SetHeightMap() and GetHeight().
|
|
height-map-copy-use-pbo = no
|
|
|
|
# Length of vector used for intersection tests.
|
|
intersection-vector-length = 100000.0
|
|
|
|
# Length of vector used for testing whether the camera is above water.
|
|
intersection-vector-length-above-water = 100000.0
|
|
|
|
# Length of vector used for projecting the ocean grid onto a geocentric ocean surface.
|
|
intersection-vector-length-projection = 100000.0
|
|
|
|
# Whether to prevent Triton from drawing into the alpha channel
|
|
alpha-mask = no
|
|
|
|
# The shader file in the resources folder where user lighting overrides reside.
|
|
# (OpenGL only)
|
|
user-shader-functions-filename = user-functions.glsl
|
|
user-vert-shader-functions-filename = user-vert-functions.glsl
|
|
|
|
# The maximum distance across which Triton will estimate the slope of the terrain
|
|
# when computing an automatic breaking wave direction.
|
|
max-slope-distance = 1000.0
|
|
|
|
# Unsupported, do not use:
|
|
enable-breaking-waves-map = no
|
|
|
|
# Whether to allow use of uniform buffer objects (UBO's) to speed up setup of OpenGL shaders
|
|
# There may be some drivers out there that don't work well with UBO's, so enable at your
|
|
# own risk.Specifically the extension : GL_ARB_uniform_buffer_object, must be available
|
|
# on your card
|
|
use-uniform-buffer-objects = yes
|
|
|
|
# Whether to use bindless textures.
|
|
# Works only if renderer is >= OPENGL_4_5
|
|
# *and* the required extension (GL_ARB_bindless_texture) is supported by your card
|
|
use-gl-bindless-textures = no
|
|
|
|
# Whether to use bindless UBOs.
|
|
# Works only if renderer is >= OPENGL_4_5
|
|
# *and* bindless graphics are available on your card. Specifically,
|
|
# extensions GL_NV_vertex_buffer_unified_memory and GL_NV_shader_buffer_load are supported by your card
|
|
# *and* UBOs are available on your card.
|
|
# *and* use-uniform-buffer-objects is set to yes. See use-uniform-buffer-objects
|
|
use-gl-bindless-uniform-buffer-objects = no
|
|
|
|
# Whether to use bindless vertex and index buffers.
|
|
# Works only if renderer is >= OPENGL_4_5
|
|
# *and* bindless graphics are available on your card. Specifically,
|
|
# extensions GL_NV_vertex_buffer_unified_memory and GL_NV_shader_buffer_load are supported by your card
|
|
# *Note* Even if the these extensions are supported, depending on the OpenGL core and compatibility contexts
|
|
# that were used to create the OpenGL context, bindless vertex/index buffers may still not work. This
|
|
# is a known issue. So, please make sure to turn this off, if so.
|
|
use-gl-bindless-vertex-buffers = no
|
|
|
|
# Whether to use glProgramUniform* instead of glUniform* in OpenGL (may reduce driver overhead,
|
|
# but doesn't really make a difference in our tests.)
|
|
use-program-uniforms = yes
|
|
|
|
# Whether a known good state should be set prior to rendering. Setting this to no can be
|
|
# unsafe, but gains a very small amount of performance.
|
|
set-default-state = yes
|
|
|
|
# The force of gravity used in the wave simulations, in meters per second squared.
|
|
wave-gravity-force = 9.81
|
|
|
|
# Adjusts our assumptions about the range of projected Z values in your application's
|
|
# projection matrix. If you are using an unusual projection matrix, such as for a
|
|
# reverse floating point depth buffer in OpenGL, you can adjust the near and far
|
|
# z values here.
|
|
opengl-near-clip = -1.0
|
|
opengl-far-clip = 1.0
|
|
directx-near-clip = 0.0
|
|
directx-far-clip = 1.0
|
|
|
|
# If set to yes, Triton will not attempt to save and restore any currently bound shaders or
|
|
# render targets in OpenGL. If your application can ensure this is done surrounding any calls
|
|
# that draw in Triton, then you can set this to "yes" to avoid potential pipeline stalls.
|
|
avoid-opengl-stalls = no
|
|
|
|
# If set to yes, Triton will not attempt to save and restore any rendering state in DX11.
|
|
# If your application can ensure this is done surrounding any calls
|
|
# that draw in Triton, then you can set this to "yes" to avoid potential pipeline stalls.
|
|
avoid-dx11-stalls = no
|
|
|
|
#########################################################################################
|
|
# Settings for volumetric decals on the water
|
|
#########################################################################################
|
|
|
|
# Size of the depth texture created for use with volumetric decals. For maximum precision
|
|
# in decal placement, increase this to be at least as large as your viewport (at the
|
|
# expense of some performance.)
|
|
depth-texture-size = 512
|
|
|
|
# Depth offset value for volumetric decals
|
|
decal-depth-offset = -0.001
|
|
|
|
# Horizontal scale of the volume used to render the decal (used to prevent clipping in
|
|
# seas.)
|
|
decal-volume-scale = 1.0
|
|
|
|
# Height of the volume used to render the decal (must be as high as your roughest seas.)
|
|
decal-volume-height = 15.0
|
|
|
|
# If your depth range is mapped to something other than [0,1], set this to yes to cause
|
|
# Triton to query for the actual depth range instead of assuming [0,1]. This can cause
|
|
# a pipeline stall so it's best avoided.
|
|
decal-get-depth-range = yes
|
|
|
|
# Whether a 32-bit floating point depth buffer should be used for decals, for additional
|
|
# precision at the expense of memory and some performance. OpenGL only.
|
|
decal-floating-point-depth = yes
|
|
|
|
# Bypasses the user shader "override position" callback when rendering the depth texture
|
|
# used by decals. This prevents any custom code for logarithmic depth buffers etc. from
|
|
# affecting the values in the depth texture, as the decal shaders assume these values
|
|
# are linear.
|
|
bypass-override-position-on-depth-pass = yes
|
|
|
|
#########################################################################################
|
|
# Settings for system compatibility
|
|
#########################################################################################
|
|
|
|
# Forces Triton to use the CPU-based FFTSS library for the FFT transforms, which
|
|
# has no special system requirements or DLL dependencies. If you're having any trouble
|
|
# getting Triton to work on your system, try setting this to yes as a first step, then
|
|
# start disabling individual FFT methods to narrow down the problem.
|
|
fft-force-cpu = no
|
|
|
|
# Explicitly disable the use of CUDA 4.0 and CUFFT to conduct FFT's on NVidia systems.
|
|
disable-cuda = no
|
|
|
|
# Explicitly disable the use of Intel's Integrated Performance Primitives library to
|
|
# conduct FFT's.
|
|
disable-ipp = no
|
|
|
|
# Explicitly disable the use of OpenCL on ATI systems running with the OpenGL renderer.
|
|
disable-opencl = no
|
|
|
|
# Explicitly disable the use of DirectX 11 Compute Shaders (AKA DirectCompute) on
|
|
# feature level 11 hardware with the DirectX11 renderer.
|
|
disable-compute-shader = no
|
|
|
|
#########################################################################################
|
|
# Settings for the FFT wave model
|
|
#########################################################################################
|
|
|
|
# The dimensions of the tileable 2D array of wave points simulated. As FFT's are
|
|
# expensive, you don't want to make this too high - and there's no point in computing
|
|
# a grid that exceeds the resolution of the ocean's projected grid geometry in
|
|
# screen space anyhow. Larger grid dimensions can let you create larger grid sizes
|
|
# that reduce tiling, but we overlay some noise to hide tiling artifacts anyhow.
|
|
# Must be a power of 2.
|
|
# If the ocean quality setting is BEST, this value will be doubled.
|
|
fft-grid-dimension-x = 256
|
|
fft-grid-dimension-y = 256
|
|
|
|
# The size the FFT grid covers in world units. Larger values will reduce tiling,
|
|
# but stretching out the grid such that it's below the resolution of the underlying
|
|
# ocean geometry will interfere with your ability to render higher frequency waves.
|
|
# With these default settings where the size matches the FFT dimensions, we have a
|
|
# maximum resolution of 1 meter in the wave simulation. Note that many cards will not
|
|
# support mip-mapping on floating point textures larger than 256, so artifacts may result
|
|
# from increasing this. These values should match.
|
|
fft-grid-size-x = 256
|
|
fft-grid-size-y = 256
|
|
|
|
# A factor that accounts for imprecisions in wave propagations over time
|
|
# Applied to the simulated time t as t = t + adjustment * t
|
|
wave-time-adjustment = 0
|
|
# This setting reportedly works well with the default 256x256 FFT grid size
|
|
#wave-time-adjustment = -0.0005097
|
|
|
|
# Whether the 3D water displacement is sampled again at a higher octave to fake
|
|
# higher resolution / more 3D waves. This gets set at runtime based on the ocean
|
|
# quality setting, so changing it in this config file will have no effect.
|
|
detail-displacement = no
|
|
|
|
# The amount the extra octave is blended in, if detail-displacement = yes
|
|
detail-displacement-intensity = 0.5
|
|
|
|
# Whether a Fresnel approximation is used that is more reflective (and cinematic)
|
|
# or the real Fresnel equation
|
|
fresnel-approximation = yes
|
|
|
|
# Whether the updating of textures from the FFT is done one frame later to prevent blocking
|
|
# This can provide a measurable speed-up, but comes at the expense of latency between the
|
|
# model and visual representation, and also means the first frame is bogus.
|
|
fft-texture-update-frame-delayed = no
|
|
|
|
# If multiple GPU's are present, attempt to run FFT calculations in parallel across them
|
|
# when using CUDA. Only enable this if you are on x64. Bandwidth seems to be the bottleneck
|
|
# with the FFT's, so this doesn't actually help much today.
|
|
fft-enable-multi-gpu = no
|
|
|
|
# If multiple GPU's are present, force FFT calculations to run on a particular GPU.
|
|
fft-enable-force-device = no
|
|
|
|
# If fft-enable-force-gpu is set to yes, then FFT calculations will run on the GPU with this
|
|
# device ID.
|
|
fft-force-device-id = 0
|
|
|
|
# Whether to use an approximation of the sqrt() function when computing the wave heights.
|
|
# This will gain you some performance, but at the expense of accuracy of wave heights at high
|
|
# wind speeds (they will be a bit too small with this on.)
|
|
fft-use-sqrt-approximation = yes
|
|
|
|
# The "Phillips constant" described in Jerry Tessendorf's paper "Simulating Ocean Waves"
|
|
# from 1999. It influences the height of the waves as a function of wind speed. We couldn't
|
|
# find a good reference for what this should be set to from a physical standpoint, but
|
|
# arrived at this value experimentally as a good match for the wave heights described
|
|
# for specific wind conditions in the Beaufort scale. This value is only used with the
|
|
# TESSENDORF wave model.
|
|
fft-phillips-constant = 0.000003
|
|
|
|
# The constant used when using the JONSWAP model. As above, this influences the wave heights.
|
|
fft-phillips-constant-jonswap = 0.000076
|
|
|
|
# The constant used when using the Pierson-Moskowitz model. As above, this influences the
|
|
# wave hieghts.
|
|
fft-phillips-constant-pierson-moskowitz = 0.0000081
|
|
|
|
# The lowest floating point number allowed when calculating JONSWAP waves.
|
|
fft-precision-limit = 1E-9
|
|
|
|
# Toggles whether "choppy" waves are enabled for the CPU-based FFT transform.
|
|
# Choppiness is always enabled if OpenCL, CUDA, or DirectCompute are in use.
|
|
fft-enable-choppiness = yes
|
|
|
|
# The default choppiness of the waves - that is, how pointy the wave crests are.
|
|
# A value of zero would give you sinusoidal waves, but you don't want to set this too
|
|
# high either - the waves will start intersecting themselves if you start setting this
|
|
# above 2.0 or so depending on the conditions.
|
|
fft-choppiness = 1.5
|
|
|
|
# The default simulated depth of the water in meters. At large depths such as this
|
|
# default value in meters, depth doesn't really play a role in the simulation, so it's
|
|
# not important to set this accurately for open ocean simulations - it just needs to be
|
|
# a big number.
|
|
fft-depth = 100000.0
|
|
|
|
# Controls the amount of Perlin noise blended with the FFT patch to avoid tiling
|
|
fft-noise-amplitude = 0.2
|
|
|
|
# The distance in meters at which noise gets blended in to the wave displacements to hide tiling
|
|
fft-noise-distance = 10000.0
|
|
|
|
# The distance in meters at which we start to dampen wave displacement (but not normals and the lighting)
|
|
# in order to avoid shimmering artifacts when rolling
|
|
fft-displacement-damping-distance = 768.0
|
|
|
|
# Whether we supersample the normals and noise in the distance to fight tiling artifacts
|
|
high-altitude-effects = yes
|
|
|
|
# The lod bias to apply to the ocean texture to prevent aliasing / motion artifacts.
|
|
fft-lod-bias = 0
|
|
|
|
# Whether a negative LOD bias should be applied on normal lookups for specular highlights.
|
|
enable-specular-sparkle = yes
|
|
|
|
# Triggers whether the slope of the ocean at each point is computed via FFT's of their own
|
|
# instead of being computed by the surrounding points. This yields more accurate results,
|
|
# but at a high cost. This setting only affects the CPU-based FFT transforms; if OpenCL,
|
|
# CUDA, or DirectCompute are in use, this setting is ignored and will always be "no".
|
|
fft-exact-normals = no
|
|
|
|
# A setting to filter out waves travelling against the wind. For waves that appear more
|
|
# directional, increase this as low as 0.0. For waves that look totally chaotic, set this
|
|
# as high as 1.0.
|
|
fft-reflection-filter = 0.1
|
|
|
|
# The maximum chop to apply to waves when computing height queries. Limits discontinuities
|
|
# from overestimating the sample offset due to local choppiness.
|
|
fft-height-max-chop = 0.9
|
|
|
|
# Factor used to exaggerate or dampen swells set via SetDouglasSeaState or AddSwell.
|
|
swell-height-multiplier = 0.886
|
|
# swell-height-multiplier = 1.7722591
|
|
|
|
# Phase offset added to swell waves (radians). Adjust if you need to match some other model
|
|
# that starts from a different point.
|
|
swell-phase-offset = 0.7853981625
|
|
#swell-phase-offset = 0
|
|
|
|
# The number of octaves of detail applied to the surface normals. More equals more detail
|
|
# and more small waves, but at the cost of additional texture lookups in the fragment shaders.
|
|
num-detail-octaves = 4
|
|
|
|
# Whether CUDA will do a device synchronization each frame. This gives you stability in exchange
|
|
# for performance.
|
|
fft-enable-sync = no
|
|
|
|
#########################################################################################
|
|
# Settings for geocentric coordinate systems
|
|
#########################################################################################
|
|
|
|
# The equatorial radius of the earth used for the WGS84 coordinate system
|
|
equatorial-earth-radius-meters = 6378137.00
|
|
|
|
# The polar radius of the earth used for the WGS84 coordinate system
|
|
polar-earth-radius-meters = 6356752.3142
|
|
|
|
# The mean radius of the earth used for the spherical coordinate system
|
|
mean-earth-radius-meters = 6371009
|
|
|
|
#########################################################################################
|
|
# Ocean color settings
|
|
#########################################################################################
|
|
|
|
# The RGB color of the light refracted into the water that does not reflect the sky.
|
|
# These default settings are reasonable for deep ocean; for shallow water you may want
|
|
# to blend in the color of the sea floor. The presence of plankton and other properties
|
|
# can make this color specific to a location; i.e. you may want to make this more green
|
|
# for inviting tropical waters.
|
|
refract-color-red = 0.01
|
|
refract-color-green = 0.0
|
|
refract-color-blue = 0.05
|
|
|
|
# The default deep water refraction color used when no environment map is present.
|
|
# Since blue reflections of the sky won't be available for use, we need to bake some
|
|
# extra blue into the water color to compensate.
|
|
refract-color-no-env-red = 0.01
|
|
refract-color-no-env-green = 0.1
|
|
refract-color-no-env-blue = 0.3
|
|
|
|
# The specular exponent for sun reflections in the water.
|
|
shininess-opengl = 50000.0
|
|
shininess-directx = 50000.0
|
|
|
|
# The default fog color for above and below the water
|
|
default-fog-color-above-r = 1.0
|
|
default-fog-color-above-g = 1.0
|
|
default-fog-color-above-b = 1.0
|
|
default-fog-color-below-r = 0.0
|
|
default-fog-color-below-g = 0.2
|
|
default-fog-color-below-b = 0.3
|
|
|
|
# The default visibility in meters for above and below the water
|
|
default-visibility-above = 1000000000.0
|
|
default-visibility-below = 100.0
|
|
|
|
#########################################################################################
|
|
# Foam settings
|
|
#########################################################################################
|
|
|
|
# Controls the creation of foam on areas of the water that have high slopes. Only
|
|
# honored in CPU-based FFT water models; if OpenCL, CUDA,
|
|
# or DirectCompute are in use, foam is always on.
|
|
do-foam = yes
|
|
|
|
# The size of the projected foam texture in meters. Needs to be big enough such that
|
|
# tiling isn't obvious.
|
|
foam-scale = 50.0
|
|
|
|
# The prominence of the foam. 0 = invisible
|
|
foam-blend = 0.5
|
|
|
|
# Whether high-resolution foam textures should be used.
|
|
hi-res-foam = yes
|
|
|
|
#########################################################################################
|
|
# Spray settings
|
|
#########################################################################################
|
|
|
|
# Enables spray particle effects at crests of choppy waves
|
|
# Note if this is set to "no", Ocean::EnableSpray() will have no effect - this setting
|
|
# disables wave spray entirely. This effect consumes memory and performance, so turn
|
|
# it off if you don't need it.
|
|
fft-enable-spray = yes
|
|
|
|
# Number of spray particles maintained at any given time
|
|
fft-max-sprays = 10000
|
|
|
|
# Maximum number of new spray particle systems generated in one frame
|
|
fft-spray-budget = 100
|
|
|
|
# The point at which the Jacobian of the FFT grid will spawn spray.
|
|
# Values less than 1.0 result in more spray, greater than 1.0 in less.
|
|
fft-spray-threshold = 1.0
|
|
|
|
# The gravity force pulling the spray particles down, in meters per second squared.
|
|
fft-spray-gravity = 9.81
|
|
|
|
# The distance at which spray particles will be culled, in meters.
|
|
fft-spray-cull-distance = 500.0
|
|
|
|
# The amount of variance in spray particle directions, as a percent of the nominal velocity
|
|
fft-spray-direction-variance = 0.4
|
|
|
|
# The initial velocity of a spray particle, which is multiplied by the wind speed
|
|
fft-spray-velocity = 1.0
|
|
|
|
# The randomness in the initial velocities, as a percent of nominal velocity
|
|
fft-spray-velocity-variance = 1.0
|
|
|
|
# The distance in which the spray particle origin will lead in the wave direction, in meters.
|
|
fft-spray-position-lead = 0
|
|
|
|
# The randomness in spray particle positions, in meters
|
|
fft-spray-position-variance = 1.0
|
|
|
|
# The distance below the ocean surface that spray particles are centered at, in meters.
|
|
fft-spray-origin-depth = 2.0
|
|
|
|
# Controls the likelihood of an individual spray particle being spawned each frame.
|
|
# 0 means every particle is spawned all the time, higher numbers result in lower particle
|
|
# creation rates. Must be an integer.
|
|
fft-spray-sparsity = 30
|
|
|
|
# The size of a spray particle in meters.
|
|
fft-spray-particle-size = 4.0
|
|
|
|
# The randomness of a particle size in meters
|
|
fft-spray-particle-size-variance = 1.5
|
|
|
|
# Whether spray particles should be scaled in size as a function of the wind speed.
|
|
# This helps the spray look more natural and avoids seeing individual particles
|
|
# blown about at high wind speeds.
|
|
fft-scale-spray-with-wind = yes
|
|
|
|
# If fft-scale-spray-with-wind is "yes", this value will be used to determine the
|
|
# wind speed at which fft-spray-particle-size is applied. Particle sizes will
|
|
# be scaled linearly by dividing the wind speed (in meters per second) by this
|
|
# value and multiplying fft-spray-particle-size by that ratio.
|
|
fft-spray-particle-size-ref-speed = 10.0
|
|
|
|
# The initial transparency of the spray particles. 0 = transparent, 1 = opaque.
|
|
fft-spray-transparency = 0.5
|
|
|
|
# Whether to use point sprites under OpenGL if available. This can be more efficient,
|
|
# but can result in inconsistently sized spray particles under different fields of view
|
|
# or viewport sizes.
|
|
spray-use-point-sprites = no
|
|
|
|
# Whether to force use of point sprites under OpenGL (vs. triangles). If the max point sprite
|
|
# size isn't large enough (usually the case with NVidia), Triton will fall back to triangles
|
|
# unless this is set to "yes". Point sprites are more efficient however. This setting will
|
|
# override spray-use-point-sprites if set to "yes".
|
|
spray-force-point-sprites = no
|
|
spray-force-point-sprites-mac = yes
|
|
|
|
# Whether particles use a purely additive blending function (ONE, ONE) as opposed to
|
|
# a softer (ONE, ONE_MINUS_SRC) function. If you're using Triton with HDR, you'll need
|
|
# to set this to "yes" to avoid negative color values.
|
|
particles-pure-additive-blend = no
|
|
|
|
# Whether particles use a traditional SRC_ALPHA, ONE_MINUS_SRC_ALPHA blend equation
|
|
# instead of ONE, ONE_MINUS_SRC_ALPHA. This can lead to sorting artifacts, but may be
|
|
# necessary in some engines for proper behavior.
|
|
particles-traditional-blend = no
|
|
|
|
#########################################################################################
|
|
# Douglas Sea Scale settings
|
|
#########################################################################################
|
|
|
|
# Parameters used for interpreting the "swell state" in Environment::SetDouglasSeaScale
|
|
|
|
# Swell wavelengths for short, averge, and long swell conditions
|
|
douglas-short-wavelength = 50.0
|
|
douglas-average-wavelength = 100.0
|
|
douglas long-wavelength = 200.0
|
|
|
|
# Swell wave heights for low, moderate, and high swell conditions
|
|
douglas-low-wave-height = 1.0
|
|
douglas-moderate-wave-height = 3.0
|
|
douglas-high-wave-height = 4.5
|
|
|
|
# Swell state 1 is short/low, 2 is long/low, 3 is short/moderate, 4 is average/moderate
|
|
# 5 is long/moderate, 6 is short/high, 7 is average/high, 8 is long/high
|
|
|
|
#########################################################################################
|
|
# Ship wake settings
|
|
#########################################################################################
|
|
|
|
|
|
# The distance travelled, as a % of the ship length, at which a prop wash segment
|
|
# is emitted
|
|
wake-wave-generation-distance = 0.5
|
|
|
|
# This is only used for the CPU-side physical simulation of Kelvin wakes used for
|
|
# height queries. It controls the frequency at which new circular waves are emitted
|
|
# from the propellers, but these waves do not actually displace the water surface,
|
|
# they are for simulation purposes only as we can't read back the actual Kelvin wake
|
|
# displacement textures to the CPU for height queries.
|
|
wake-wave-generation-period = 5.0
|
|
|
|
# Whether you really want all the overhead of a parallel simulation of ship wakes
|
|
# just to make height queries more accurate near the wakes
|
|
wakes-affect-height-queries = yes
|
|
|
|
# Whether prop wash should be computed on a per-fragment (smoother) or per-vertex (faster)
|
|
# basis.
|
|
per-fragment-prop-wash = yes
|
|
|
|
# Whether the above per-fragment-prop-wash setting should be automatically applied only
|
|
# when the ocean quality is set to "better" or "best"
|
|
auto-per-fragment-prop-wash = no
|
|
|
|
# The rate of prop wash emission will be increased when a ship is on curved paths.
|
|
# This factor controls how strong an effect this has. It multiplies the turn angle,
|
|
# and the cosine of the result is used to modulate the generation distance.
|
|
wake-wave-curve-generation-factor = 4.0
|
|
|
|
# The time interval in seconds in which a wake emits a spray effect
|
|
wake-spray-generation-period = 0.1
|
|
|
|
# Exponent for decaying wave amplitude with wave radius
|
|
wake-wave-decay = 0.5
|
|
|
|
# The maximum number of Kelvin wake wavelengths that may be displayed at once.
|
|
max-wake-waves-dx9 = 5
|
|
max-wake-waves-dx11 = 5
|
|
max-wake-waves-opengl = 10
|
|
|
|
# Whether 3D Kelvin wakes emanating from the ship are rendered. This places extra load
|
|
# on the vertex programs, so if you don't need this, set it to "no"
|
|
wake-kelvin-wakes = yes
|
|
|
|
# The maximum number of circular waves from impacts or rotor wash that may be
|
|
# displayed at once.
|
|
max-circular-waves-dx9 = 5
|
|
max-circular-waves-dx11 = 10
|
|
max-circular-waves-opengl = 10
|
|
|
|
# The maximum number of prop wash segments that may be displayed at once.
|
|
max-prop-wash-dx9 = 19
|
|
max-prop-wash-dx11 = 50
|
|
max-prop-wash-opengl = 50
|
|
|
|
# Whether propeller backwash trails (aka turbulent wake) behind the ship are rendered
|
|
# This places extra load on the vertex programs, so if you don't need this,
|
|
# set it to "no"
|
|
wake-propeller-backwash = yes
|
|
|
|
# LOD bias for prop wash texture (OpenGL only.)
|
|
prop-wash-lod-bias = 1.0
|
|
|
|
# Default width of prop wash effect as a multiple of the ship beam width
|
|
prop-wash-default-width-multiplier = 1.5
|
|
|
|
# The number of seconds prop wash segments will fade out over. Used in
|
|
# conjunction with wake-wash-length - segments will fade out over that
|
|
# length, and over time. You can set one or the other to very high values
|
|
# if you want to prop wash dissipation to be based only on time, or only
|
|
# on distance.
|
|
prop-wash-default-fade-time = 30.0
|
|
|
|
# The length, in meters, after which the turbulent wake dissipates entirely
|
|
# Has no real physical basis, but is useful to enforce an upper bound on
|
|
# prop wash segments per ship.
|
|
wake-wash-length = 500
|
|
|
|
# The wave height at which prop wash will dissipate entirely. This effect
|
|
# also gets multiplied in the the fading based on length and time.
|
|
prop-wave-height-fade = 20.0
|
|
|
|
# Adjusts the initial amplitude of wake waves
|
|
wake-kelvin-wave-scale = 5.0
|
|
wake-circular-wave-scale = 1.0
|
|
|
|
# The maximum number of spray particle systems to run at any given time
|
|
wake-max-sprays = 300
|
|
|
|
# Whether spray particle systems are culled when not in view.
|
|
wake-cull-sprays = yes
|
|
|
|
# The distance beyond which wake sprays are culled out
|
|
wake-spray-cull-distance = 1000.0
|
|
|
|
# The number of particles per spray particle system. The total number of particles
|
|
# for wake sprays is this times wake-max-sprays.
|
|
wake-spray-particles = 5
|
|
|
|
# The average size of a wake spray particle
|
|
wake-spray-particle-size = 13.0
|
|
|
|
# The average size of a bow spray particle
|
|
bow-spray-particle-size = 13.0
|
|
|
|
# The size variation of a wake spray particle (ie, 0.2 means +- 20%)
|
|
wake-spray-size-variation = 0.2
|
|
|
|
# The size variation of a bow spray particle (ie, 0.2 means +- 20%)
|
|
bow-spray-size-variation = 0.2
|
|
|
|
# The variation in wake spray particle velocity (0.2 = 20%)
|
|
wake-spray-velocity-variation = 0.4
|
|
|
|
# The variation in bow spray particle velocity (0.2 = 20%)
|
|
bow-spray-velocity-variation = 0.4
|
|
|
|
# The variation in wake spray particle initial positions, in meters.
|
|
wake-spray-position-variation = 7.0
|
|
|
|
# The variation in bow spray particle initial positions, in meters.
|
|
bow-spray-position-variation = 7.0
|
|
|
|
# The variation in wake spray direction (0.2 = 20%)
|
|
wake-spray-direction-variation = 0.5
|
|
|
|
# The variation in bow spray direction (0.2 = 20%)
|
|
bow-spray-direction-variation = 0.5
|
|
|
|
# The time new wake waves fade in (to prevent discontinuities - in seconds.)
|
|
wake-fade-in-time = 1.0
|
|
|
|
# Transparency of wake spray particles
|
|
wake-spray-transparency = 0.3
|
|
|
|
# Transparency of bow spray particles
|
|
bow-spray-transparency = 1.3
|
|
|
|
# The minimum amplitude of a wake wave before it is discarded
|
|
wake-circular-wave-min-amplitude = 0.01
|
|
wake-kelvin-wave-min-amplitude = 0.07
|
|
|
|
# The maximum amplitude of a wake wave before it is clamped
|
|
wake-circular-wave-max-amplitude = 1.5
|
|
wake-kelvin-wave-max-amplitude = 1.5
|
|
|
|
# The minimum length of a prop wash segment
|
|
min-prop-wash-segment-length = 10.0
|
|
|
|
# Scaling factor on prop wash widths
|
|
prop-wash-scale = 0.5
|
|
|
|
# A boost in the initial elevation of new wake spray particles.
|
|
wake-spray-elevation = -1.0
|
|
|
|
# A boost in the initial elevation of new bow spray particles.
|
|
bow-spray-elevation = -1.0
|
|
|
|
# Maximum lifetime of a wake spray particle.
|
|
wake-spray-max-lifetime = .7
|
|
|
|
# Maximum lifetime of a bow spray particle.
|
|
bow-spray-max-lifetime = .4
|
|
|
|
# Wake spray speed is ship speed multiplied by this scale.
|
|
wake-spray-velocity-scale = .7
|
|
|
|
# Bow spray speed is ship speed multiplied by this scale.
|
|
bow-spray-velocity-scale = .7
|
|
|
|
# Maximum distance from camera at which circular waves (from impacts & rotor wash) and
|
|
# kelvin wakes (from ship wakes) will be drawn.
|
|
max-circular-wave-distance = 1000.0
|
|
max-kelvin-wake-distance = 1000.0
|
|
|
|
# Maximum distance from camera at which a WakeGenerator's wake effect
|
|
# will be processed - useful for preserving performance with massive
|
|
# numbers of wakes. Set to 0 for no limit. Depends on the below setting
|
|
# of wake-generator-distance-threshold before it is applied.
|
|
max-wake-generator-distance = 5000
|
|
|
|
# The above max-wake-generator-distance will only be applied once
|
|
# the total number of WakeGenerators exceeds this amount.
|
|
wake-generator-distance-threshold = 100
|
|
|
|
# The intensity of foam from Kelvin wake waves.
|
|
wake-kelvin-wave-foam-scale = 0.5
|
|
|
|
# A factor used to multiply the size of the bow Kelvin wake effect.
|
|
bow-wake-size-multiplier = 1.0
|
|
|
|
# A factor used to multiply the size of each stern Kelvin wake wave.
|
|
stern-wake-size-multiplier = 1.0
|
|
|
|
hull-wake-width-scale = 55
|
|
|
|
hull-wake-length-scale = 100
|
|
|
|
ship-speed-max-foam = 15
|
|
|
|
ship-speed-min-foam = 8
|
|
|
|
# Whether wake spray particles are all drawn in 1 call.
|
|
# Only valid for OpenGL.
|
|
# Should work on all GPUs.
|
|
# If your wake sprays are not being drawn correctly (or not at all),
|
|
# set this to no
|
|
wake-sprays-batched-draw-opengl = yes
|
|
|
|
#########################################################################################
|
|
# Rotor wash settings
|
|
#########################################################################################
|
|
|
|
# The time interval in seconds in which a wash emits a wave
|
|
wash-wave-generation-period = 2.0
|
|
|
|
# The time interval in seconds in which a wash emits a spray effect
|
|
wash-spray-generation-period = 0.1
|
|
|
|
# The diameter of the wash effect, as a multiple of the rotor diameter
|
|
wash-size = 1.0
|
|
|
|
# Parameter to allow adjustment of the wind strength at the water surface
|
|
# from the wash, to result in larger or smaller waves from the wash
|
|
wash-wind-scale = 2.0
|
|
|
|
# The maximum wind velocity used to model waves and particle effects
|
|
wash-max-velocity = 8.0
|
|
|
|
# The particle size used for the rotor wash spray
|
|
wash-spray-particle-size = 6.0
|
|
|
|
# Transparency of the wash spray particle
|
|
wash-spray-transparency = 0.3
|
|
|
|
# Exponent for decaying wave amplitude with radius
|
|
wash-wave-decay = 1.35
|
|
|
|
# The time, in seconds, in which an individual rotor wash decal fades away.
|
|
wash-decal-period = 3.0
|
|
|
|
# The minimum and maximum scale of the rotor wash decals over the wash-decal-period.
|
|
wash-decal-min-scale = 1.0
|
|
wash-decal-max-scale = 5.0
|
|
|
|
# The intensity of the decal effect
|
|
wash-decal-intensity = 2.0
|
|
|
|
# How random the interval between emission of circular waves is.
|
|
wash-phase-randomness = 0.5
|
|
|
|
# The maximum speed of the rotor itself at which the decal texture effect will be applied.
|
|
wash-decal-speed-limit = 10.0
|
|
|
|
#########################################################################################
|
|
# Impact settings
|
|
#########################################################################################
|
|
|
|
# The number of particle systems generated when an Impact is triggered
|
|
impact-num-sprays = 10
|
|
|
|
# The scale applied to the impact's force based on its velocity and mass
|
|
impact-energy-scale = 0.0000009
|
|
|
|
# The upper bound on simulated impact energy (beyond this the particle systems just
|
|
# fly apart.)
|
|
impact-max-energy = 20
|
|
|
|
# The random variation in positions of sprays from the impact
|
|
impact-spray-position-variation = 2.0
|
|
|
|
# Transparency of an impact spray particle
|
|
impact-spray-transparency = 0.2
|
|
|
|
# Exponent for decaying wave amplitude with radius
|
|
impact-wave-decay = 0.33333
|
|
|
|
#########################################################################################
|
|
# Tidal stream wake settings
|
|
#########################################################################################
|
|
|
|
# The random variance in wake wave amplitude as a percentage.
|
|
tidal-stream-amplitude-variance = 0.07
|
|
|
|
# The rate at which random fluctuations in wake amplitude are applied over time.
|
|
tidal-stream-amplitude-speed = 4.0
|
|
|
|
# The random variance in the direction of the wake. This is added or subtracted to
|
|
# each component of the normalized direction vector.
|
|
tidal-stream-direction-variance = 0.05
|
|
|
|
# The rate at which random fluctuation in direction is applied (smaller = slower)
|
|
tidal-stream-direction-speed = 0.5
|
|
|
|
# How much foam the tidal wake should generate at its crest. As Triton's foam
|
|
# doesn't actually move with the current, it's best to keep this subtle.
|
|
tidal-stream-foam = 0.5
|
|
|
|
# Scaling factor for tidal stream foam decal animation
|
|
tidal-stream-animation-scale = 0.5
|
|
|
|
#########################################################################################
|
|
# Mesh settings
|
|
#########################################################################################
|
|
|
|
# Optionally use a conventional mesh to draw the ocean below a certain
|
|
# altitude instead of a projected grid.
|
|
|
|
# Whether to switch to a conventional mesh or not
|
|
use-mesh = yes
|
|
|
|
# The resolution of the mesh per side. This may be multiplied if the ocean
|
|
# quality setting is better than GOOD.
|
|
mesh-grid-resolution = 513
|
|
mesh-grid-resolution-mac = 257
|
|
|
|
# The altitude at which we switch to a planar mesh
|
|
mesh-switch-altitude = 100
|
|
|
|
# Whether the mesh switch altitude should be multiplied by the zoom level
|
|
adjust-mesh-switch-with-zoom = yes
|
|
|
|
# How far out the mesh extends
|
|
mesh-size = 50000
|
|
|
|
#########################################################################################
|
|
# Leeward Dampening effect
|
|
#########################################################################################
|
|
|
|
# Whether wind waves are reduced on the leeward side of ships. Only works on ships
|
|
# that have wake effects on them, and only works with OpenGL at present.
|
|
# This is off by default as it may exceed the maximum instruction count for vertex programs
|
|
# on some platforms, and also comes at a performance cost.
|
|
leeward-dampening = no
|
|
|
|
# The maximum number of ship locations used for leeward wave dampening.
|
|
max-leeward-dampeners-opengl = 5
|
|
|
|
# The maximum distance from the camera at which the dampening effect will be applied
|
|
max-leeward-dampener-distance = 1000.0
|
|
|
|
# How much the dampening effect is applied to the waves (0-1)
|
|
leeward-dampening-strength = 0.07
|
|
|
|
# The maximum ship velocity at which the leeward dampening will have any effect, in world
|
|
# units per second.
|
|
max-leeward-dampening-velocity = 10.0
|
|
|
|
#########################################################################################
|
|
# Underwater God Rays (Crepuscular Rays) effect
|
|
#########################################################################################
|
|
|
|
# Enable or disable the effect entirely. If you never intend to use them, this can save
|
|
# some GPU memory. Ocean::EnableGodRays(true) also needs to be called to start the effect.
|
|
underwater-god-rays-enabled = yes
|
|
|
|
# The number of god ray vertices along the grid
|
|
god-rays-mesh-dimension = 15
|
|
|
|
# How deep the god rays go (in meters)
|
|
god-rays-effect-depth = 200.0
|
|
|
|
# Extinction coefficients for water
|
|
god-rays-extinction-coefficient-r = 0.8
|
|
god-rays-extinction-coefficient-g = 0.016
|
|
god-rays-extinction-coefficient-b = 0.01
|
|
|
|
# The "K" factor used to adjust the spacing between grid points to fill the viewport
|
|
god-rays-adjustment-factor = 0.8
|
|
|
|
#########################################################################################
|
|
# Double-refraction effect
|
|
#########################################################################################
|
|
|
|
# The color added to the water (before lighting) when the view angle approaches the surface
|
|
# normal (unless looking down.) This approximates the effect of diffuse lighting caused
|
|
# by double refraction, or "seeing through" a wave crest a little. It adds a sense of depth
|
|
# and translucency to the water and makes it look less plastic.
|
|
double-refraction-r = 0.2
|
|
double-refraction-g = 0.6
|
|
double-refraction-b = 0.5
|
|
|
|
# The intensity of the double refraction effect.
|
|
double-refraction-intensity = 0.8
|