;-------------------------------------------
; OpenGL specific stuff
;-------------------------------------------

; Support for automatic overrides of various settings.
Video.OpenGL.Config.3dfx.GL_VENDOR = 3Dfx*
Video.OpenGL.Config.3dfx.config = gl3dfx.cfg

Video.OpenGL.Config.nvGeforce.GL_RENDERER = *GeForce*
Video.OpenGL.Config.nvGeforce.config = glnvgf.cfg

; Override the detected graphics capabilities. 
; For broken drivers or unknown cards you can uncomment and set
; the following values. If commented, a nice default will be used instead.
;Video.OpenGL.Caps.CanClip = no
;Video.OpenGL.Caps.MaxTextureSize = 1024
;Video.OpenGL.Caps.NeedsPO2Maps = yes
;Video.OpenGL.Caps.MaxAspectRatio = 32768

; Enable if you have hardware stencil buffer
Video.OpenGL.Caps.Stencil = yes

; Enable if OpenGL seems to crash for you. It is possible that this is
; caused by not correctly clipping geometry to screen boundaries.
;Video.OpenGL.Caps.NeedScreenClipping = yes

; Set to the number of OpenGL clipping planes that are hardware accelerated.
; If set to 0 then this kind of clipping is disabled. Default is 6.
Video.OpenGL.Caps.HWPlanes = 6

; Clipping modes:
;    n (no clipping): don't use clipping at all but rely on z-buffer
;      to do the clipping for us. Only works when the object is rendered
;      using either ztest or zuse.
;    z (zbuf clipping): this is a variant of 'no clipping' specifically
;      for the outer polygon (or view). In this case the outside of that
;      portal (i.e. the places on the window/screen where CS will never
;      render) will be filled with z-buffer.
;    s (stencil clipping): use the stencil buffer for clipping.
;    p (plane clipping): use OpenGL plane clipping.
;    0 (software clipping): use the software clipper.
; All of these modes (except software clipping) have an uppercase variant
; which adds lazy clipping before doing the other operation. Lazy clipping
; means that a quick test on all triangles will discard all triangles that
; are totally invisible but keep all the others without clipping.
;
; Below are clipping modes for various operations. In addition to the
; modes described above you can also use 'auto' which will try to
; autodetect the most efficient operation. You can also use multiple
; modes in which case these modes will be used in case the first one
; is not possible for some reason. One example is that 'n' cannot be
; used on objects that are rendered with zfill or znone. In that case
; you need other modes. If you don't specify other modes then 0 will
; automatically be used (software clipping).

; Clipping mode to use for portals with optional clipping (i.e. most
; regular portals). Possible values are n,N,s,S,p,P, or 0. Usually 'n'
; or 'N' is recommended. 'n' is better if you are on fast hardware that
; doesn't mind overdraw. 'N' is better if you have hardware for which
; overdraw is relatively expensive.
Video.OpenGL.ClipOptional = auto

; Clipping mode to use for portals with required clipping (for special
; cases like floating portals). Possible values are s,S,p,P, or 0.
Video.OpenGL.ClipRequired = auto

; Clipping modes to use for the outer portal. Possible values are z,
; Z,s,S,p,P, or 0.
Video.OpenGL.ClipOuter = auto

; Enable Dither mode.
Video.OpenGL.EnableDither = yes

; Enable Bilinear texture mapping (slower, especially
; if you don't have hardware acceleration).
Video.OpenGL.EnableBilinearMap = yes

; Sharpen mipmaps to less blurry. May or may not improve visual quality, 
; depends on textures.
; Set to 0 to turn it off.
Video.OpenGL.SharpenMipmaps = 256

; If this is set to 'yes' then you don't care about good perspective
; correction. This may mean that textures are rendered faster.
; Wether or not this hint is honored depends on the implementation.
Video.OpenGL.HintPerspectiveFast = no

; This tells how to blend lightmaps with their underlying textures.
; Legal modes are 'multiplydouble', 'multiply' (the default), 'coloradd',
; 'add', and 'auto'. Choose to fit your hardware and taste.  The 'multiply' mode
; is supported on most hardware but is often too dark.  If your hardware
; supports it, 'multiplydouble' often gives a better scene.
Video.OpenGL.LightmapMode = multiplydouble

; Enable an artifical speed limit on the FPS. This can help to increase
; smoothness with very high frame rates. The value given is in ms.
;Video.OpenGL.FpsLimit = 40

; The following variables indicates the number of super-lightmaps for the
; four super lightmap queues. Queue 0 super lightmaps will have size
; equal to SuperLightMapSize config value. Queue 1 is four times smaller
; and so on. There should always be at least one queue 0 super lightmap.
Video.OpenGL.SuperLightMapNum0 = 1
Video.OpenGL.SuperLightMapNum1 = 16
Video.OpenGL.SuperLightMapNum2 = 64
Video.OpenGL.SuperLightMapNum3 = 64

; The following variable indicates the size of super-lightmaps in queue 0.
; By default this will be equal to 256. Note that this size will always
; be capped by the maximum allowed texture size (see MaxTexWidth attribute
; above).
;Video.OpenGL.SuperLightMapSize = 256

; Scale down textures by 2^n-1, in case textures don't fit into the 
; gfx card memory
Video.OpenGL.TextureDownsample = 0

; How many megabytes of textures are kept in (OpenGL) memory.
; Default is 128, set to 0 to keep all textures.
; Video.OpenGL.MaxTextureCache = 64

; Anisotropic filtering. 1.0 means disabled,
; anything above enabled.
Video.OpenGL.TextureFilterAnisotropy = 1.0

; Bit depth of textures. Some cards may run faster
; with 16 bit textures, some save textures internally in
; 32 bit anyway. 0 means: use display color depth
; 8 is possible as well. Looks funny :)
Video.OpenGL.TextureBits = 0

Video.OpenGL.BlendMipmap = no

;-------
; Force internal representation of texture formats
;-------

; you can explicitly tell what targetformat for the sourceformats should be used
; note that the formats need to be both in the same class, that is
; you can map RGB to some specific RGB format only, no RGBA or Alpha format
;Video.OpenGL.TargetFormat.GL_RGB = GL_RGB8
;Video.OpenGL.TargetFormat.GL_RGBA = GL_RGB5_A1
; here you can specify if textures using a selected targetformat should be held
; compressed in texture memory (this is ignored if card does not support texture compression)
;Video.OpenGL.TargetFormat.GL_RGB5_A1 = compressed
;Video.OpenGL.TargetFormat.GL_R3_G3_B2 = compressed

;------
; enable the use of certain opengl extensions
;------
Video.OpenGL.UseExtension.GL_ARB_multitexture = yes
Video.OpenGL.UseExtension.GL_ARB_texture_env_combine = yes
Video.OpenGL.UseExtension.GL_ARB_texture_env_dot3 = yes
Video.OpenGL.UseExtension.GL_ARB_texture_compression = yes
;Video.OpenGL.UseExtension.GL_NV_vertex_array_range = yes
Video.OpenGL.UseExtension.GL_NV_vertex_program = yes
Video.OpenGL.UseExtension.GL_SGIS_generate_mipmap = yes
Video.OpenGL.UseExtension.GL_EXT_texture_filter_anisotropic = yes

;Video.OpenGL.Canvas = crystalspace.graphics2d.glx
;Video.OpenGL.Canvas = crystalspace.graphics2d.glwin32
;Video.OpenGL.Canvas = crystalspace.graphics2d.glmac
