# Visualization Library A lightweight C++ OpenGL middleware for 2D/3D graphics | [Home] [Tutorials] [All Classes] [Grouped Classes]

# E:/VisualizationLibrary/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vl/config.hpp File Reference

Visualization Library configuration file. More...

## Namespaces
namespace | vl
| Visualization Library namespace.

## Defines
#define | VL_MESSAGEBOX_CHECK 1
| Only for Win32 platforms.
#define | VL_MAX_ACTOR_LOD 4
| Defines the maximum number of LOD levels available to the Actor class.
#define | VL_MAX_EFFECT_LOD 4
| Defines the maximum number of LOD levels available to the Effect class.
#define | VL_FORCE_CHECKS 0
| Forces checks to be done also in non debug modes.
#define | VL_VERBOSITY_LEVEL 2
| Verbosity level.
#define | VL_PIPELINE_PRECISION 2
| This define is used to set Visualization Library's pipeline precision.
#define | VL_FAST_SQUARE_ROOTS 0
| Enables fast square root computation when using single precision mode.
#define | VL_MAX_TEXTURE_UNIT_COUNT 16
| Maximum number of texture units used.
#define | VL_STRING_COPY_ON_WRITE 1
| Enable String copy-on-write mode.
#define | VL_DEFAULT_BUFFER_BYTE_ALIGNMENT 16
| Default byte alignment for the vl::Buffer class.
#define | VL_MAX_TIMERS 16
| Maximum timer index that can be passed to vl::Time::start(int index), vl::Time::stop(int index) etc.
#define | VL_DEBUG_LIVING_OBJECTS 0
| Enable/disable memory leaks debugging.
#define | VL_glLoadMatrix glLoadMatrixd
| Defined as `glLoadMatrixd`, used internally.
#define | VL_glMultMatrix glMultMatrixd
| Defined as `glMultMatrixd`, used internally.
## Typedefs
typedef double | vl::Real
| Defined as `'typedef` `double` `Real'`.

## Detailed Description

Visualization Library configuration file.

## Define Documentation

#define VL_MESSAGEBOX_CHECK 1

Only for Win32 platforms.

1 = opens a MessageBox on failed check
0 = opens a MessageBox on failed check

#define VL_MAX_ACTOR_LOD 4

Defines the maximum number of LOD levels available to the Actor class.

#define VL_MAX_EFFECT_LOD 4

Defines the maximum number of LOD levels available to the Effect class.

#define VL_FORCE_CHECKS 0

Forces checks to be done also in non debug modes.

if set to 1 the VL_CHECK() and VL_CHECK_OGL() macros will be active also in release mode builds if set to 0 the VL_CHECK() and VL_CHECK_OGL() macros will be active only in debug mode builds

#define VL_VERBOSITY_LEVEL 2

Verbosity level.

#define VL_PIPELINE_PRECISION 2

This define is used to set Visualization Library's pipeline precision.

- 1 = use floating point single precision pipeline
- 2 = use floating point double precision pipeline

In single precision mode the classes `vec4`, `vec3`, `vec2`, `mat4`, `mat3`, `mat2` will be defined as typedefs to their `fvec4`, `fmat4` etc. counter parts.

In double precision mode the classes `vec4`, `vec3`, `vec2`, `mat4`, `mat3`, `mat2` will be defined as typedefs to their `dvec4`, `dmat4` etc. counter parts.

In single precision mode vl::Real is defined as `float`, in double precision mode vl::Real is defined as `double`.

Other classes are affected as well, in particular vl::Transform, vl::quat, vl::AABB and vl::Sphere.

#define VL_FAST_SQUARE_ROOTS 0

Enables fast square root computation when using single precision mode.

- 0 = disable fast square roots when in single precision floating point pipeline
- 1 = enable fast square roots when in single precision floating point pipeline

Potential performance improvements:

- float sqrt will be up to 1.4x quicker
- float 1.0/sqrt will be up to 3x quicker
- vec3 normalization will be up to 2x quicker

Please note that the precision of such operations is seriously affected. Use with care! Under some platforms / compiler configurations this might produce wrong results, like objects disappearing, transforms, matrices and vectors filled with garbage data etc.

#define VL_MAX_TEXTURE_UNIT_COUNT 16

Maximum number of texture units used.

- minimum = 1
- maximum = OpenGL implementation dependent

#define VL_STRING_COPY_ON_WRITE 1

Enable String copy-on-write mode.

- 1 = vl::String copy on write feature enabled
- 0 = vl::String copy on write feature disabled

#define VL_DEFAULT_BUFFER_BYTE_ALIGNMENT 16

Default byte alignment for the vl::Buffer class.

#define VL_MAX_TIMERS 16

Maximum timer index that can be passed to vl::Time::start(int index), vl::Time::stop(int index) etc.

#define VL_DEBUG_LIVING_OBJECTS 0

Enable/disable memory leaks debugging.

- 0 = disable memory leaks debugging
- 1 = Objects::mDebug_LivingObjects will contain the set of currently living Object-s.

This is useful when you want to track memory leaks and object construction/destruction.

#define VL_glLoadMatrix glLoadMatrixd

Defined as `glLoadMatrixd`, used internally.

#define VL_glMultMatrix glMultMatrixd

Defined as `glMultMatrixd`, used internally.

Visualization Library v2009.08 Reference Documentation
Copyright 2005-2009 Michele Bosi. All rights reserved.
Updated on Sun Nov 8 14:28:51 2009.
Permission is granted to use this page to write and publish articles regarding Visualization Library.