# Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics

[Home] [Tutorials] [All Classes] [Grouped Classes]

Namespaces | Defines | Typedefs

# D:/VL/BuildSystem/VL_DISTRO/Visualization_Library_SDK/src/vlCore/config.hpp File Reference

Visualization Library configuration file. More...

`#include <vlCore/platform.hpp>`

Go to the source code of this file.

## Namespaces

namespace | vl

| Visualization Library namespace.

## Defines

#define | VL_DEBUG_LIVING_OBJECTS 0
| Enable/disable memory leaks debugging.
#define | VL_FORCE_CHECKS 0
| Forces checks to be done also in non debug modes.
#define | VL_MESSAGEBOX_CHECK 0
| Show a message box upon check failure.
#define | VL_PIPELINE_PRECISION 1
| 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_OBJECT_USER_DATA 0
| Set this to 1 to be able to attach user data to any vl::Object using the "setUserData(void*)" and "void* userData()" methods.
#define | VL_ACTOR_USER_DATA 0
| Set this to 1 to be able to attach user data to any vl::Actor using the "setActorUserData(void*)" and "void* actorUserData()" methods.
#define | VL_TRANSFORM_USER_DATA 0
| Set this to 1 to be able to attach user data to any vl::Transform using the "void setTransformUserData(void*)" and "void* transformUserData()" methods.
#define | VL_SHADER_USER_DATA 0
| Set this to 1 to be able to attach user data to any vl::Shader using the "void setShaderUserData(void*)" and "void* shaderUserData()" methods.
#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_MAX_TEXTURE_UNITS 8
| Maximum number of texture units used.
#define | VL_MAX_GENERIC_VERTEX_ATTRIB 8
| Maximum number of generic vertex attributes used by a single Geometry.
#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_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_DEBUG_SET_OBJECT_NAME() this->mObjectName = className();
#define | VL_glLoadMatrix glLoadMatrixf
| Defined as `glLoadMatrixf`, used internally.
#define | VL_glMultMatrix glMultMatrixf
| Defined as `glMultMatrixf`, used internally.
#define | VLCORE_EXPORT

## Typedefs

typedef float | vl::real
| Defined as `'typedef` `float` `real'`.

## Detailed Description

Visualization Library configuration file.

Definition in file config.hpp.

## Define Documentation

#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.

Definition at line 54 of file config.hpp.

#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

Definition at line 63 of file config.hpp.

#define VL_MESSAGEBOX_CHECK 0

Show a message box upon check failure.

Only for Win32 platforms. 1 = opens a MessageBox on failed check
0 = opens a MessageBox on failed check

Definition at line 71 of file config.hpp.

#define VL_PIPELINE_PRECISION 1

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.

Definition at line 88 of file config.hpp.

#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.

Definition at line 106 of file config.hpp.

#define VL_OBJECT_USER_DATA 0

Set this to 1 to be able to attach user data to any vl::Object using the "setUserData(void*)" and "void* userData()" methods.

Useful to glue VL classes to the user's application logic.

Note:
  This will add 4 or 8 bytes to each vl::Object instance.

Definition at line 115 of file config.hpp.

#define VL_ACTOR_USER_DATA 0

Set this to 1 to be able to attach user data to any vl::Actor using the "setActorUserData(void*)" and "void* actorUserData()" methods.

Useful to glue VL classes to the user's application logic.

Note:
  This will add 4 or 8 bytes to each vl::Actor instance.

Definition at line 124 of file config.hpp.

#define VL_TRANSFORM_USER_DATA 0

Set this to 1 to be able to attach user data to any vl::Transform using the "void setTransformUserData(void*)" and "void* transformUserData()" methods.

Useful to glue Transform objects to the user's application animation engine.

Note:
  This will add 4 or 8 bytes to each vl::Transform instance.

Definition at line 133 of file config.hpp.

#define VL_SHADER_USER_DATA 0

Set this to 1 to be able to attach user data to any vl::Shader using the "void setShaderUserData(void*)" and "void* shaderUserData()" methods.

Useful to glue Shader objects and the user's application logic.

Note:
  This will add 4 or 8 bytes to each vl::Shader instance.

Definition at line 142 of file config.hpp.

#define VL_MAX_ACTOR_LOD 4

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

Set this value to optimize VL to your application's needs.

- minimum = 1
- maximum = application dependent

Definition at line 152 of file config.hpp.

Referenced by vl::VLXClassWrapper_Actor::exportActor(), and vl::Actor::setLODs().

#define VL_MAX_EFFECT_LOD 4

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

Set this value to optimize VL to your application's needs.

- minimum = 1
- maximum = application dependent

Definition at line 162 of file config.hpp.

Referenced by vl::Effect::deepCopyFrom(), vl::Effect::evaluateLOD(), vl::VLXClassWrapper_Effect::exportEffect(), vl::Effect::setActiveLod(), vl::Effect::setLOD(), and vl::Effect::shallowCopyFrom().

#define VL_MAX_TEXTURE_UNITS 8

Maximum number of texture units used.

Allows VL to keep track of only the effectively used texture units. Set this value to optimize VL to your application's needs.

- minimum = 1
- maximum = OpenGL implementation dependent

Definition at line 173 of file config.hpp.

Referenced by vl::TextureSampler::apply(), vl::TextureMatrix::apply(), vl::TexGen::apply(), vl::TexEnv::apply(), vl::OpenGLContext::bindVAS(), vl::VLXClassWrapper_Geometry::exportGeometry(), vl::OpenGLContext::initGLContext(), vl::Geometry::regenerateVertices(), vl::Geometry::setTexCoordArray(), vl::OpenGLContext::setTexUnitBinding(), vl::PolygonSimplifier::simplify(), and vl::OpenGLContext::texUnitBinding().

#define VL_MAX_GENERIC_VERTEX_ATTRIB 8

Maximum number of generic vertex attributes used by a single Geometry.

Allows VL to keep track of only the effectively used vertex attributes. Set this value to optimize VL to your application's needs.

- minimum = 1
- maximum = OpenGL implementation dependent

Definition at line 184 of file config.hpp.

Referenced by vl::OpenGLContext::bindVAS(), vl::VLXClassWrapper_Geometry::exportGeometry(), vl::OpenGLContext::initGLContext(), and vl::OpenGLContext::vertexAttribValue().

#define VL_MAX_TIMERS 16

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

Definition at line 190 of file config.hpp.

Referenced by vl::Time::Time().

#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

Definition at line 199 of file config.hpp.

#define VL_DEFAULT_BUFFER_BYTE_ALIGNMENT 16

Default byte alignment for the vl::Buffer class.

Definition at line 205 of file config.hpp.

Referenced by vl::Buffer::Buffer().

#define VL_DEBUG_SET_OBJECT_NAME | ( | ) | this->mObjectName = className();

Definition at line 213 of file config.hpp.

Referenced by vl::Actor::Actor(), vl::ActorKdTree::ActorKdTree(), vl::ActorTree::ActorTree(), vl::ActorTreeAbstract::ActorTreeAbstract(), vl::AlphaFunc::AlphaFunc(), vl::Applet::Applet(), vl::ArrayAbstract::ArrayAbstract(), vl::Atom::Atom(), vl::BezierPatch::BezierPatch(), vl::BezierSurface::BezierSurface(), vl::Billboard::Billboard(), vl::BlendColor::BlendColor(), vl::BlendEquation::BlendEquation(), vl::BlendFunc::BlendFunc(), vl::BlitFramebuffer::BlitFramebuffer(), vl::Bond::Bond(), vl::Buffer::Buffer(), vl::BufferObject::BufferObject(), vl::Camera::Camera(), vl::CatmullRomInterpolator< T >::CatmullRomInterpolator(), vl::Clear::Clear(), vl::ClipPlane::ClipPlane(), vl::Collection< RenderingAbstract >::Collection(), vl::Color::Color(), vl::ColorMask::ColorMask(), vl::CopyTexSubImage::CopyTexSubImage(), vl::CopyTexSubImage1D::CopyTexSubImage1D(), vl::CopyTexSubImage2D::CopyTexSubImage2D(), vl::CopyTexSubImage3D::CopyTexSubImage3D(), vl::CoreText::CoreText(), vl::CullFace::CullFace(), vl::DepthFunc::DepthFunc(), vl::DepthMask::DepthMask(), vl::DepthRange::DepthRange(), vl::DepthSortCallback::DepthSortCallback(), vl::DistanceLODEvaluator::DistanceLODEvaluator(), vl::DrawArrays::DrawArrays(), vl::DrawElements< ArrayUShort1 >::DrawElements(), vl::DrawElementsUByte::DrawElementsUByte(), vl::DrawElementsUInt::DrawElementsUInt(), vl::DrawElementsUShort::DrawElementsUShort(), vl::DrawRangeElements< ArrayUShort1 >::DrawRangeElements(), vl::DrawRangeElementsUByte::DrawRangeElementsUByte(), vl::DrawRangeElementsUInt::DrawRangeElementsUInt(), vl::DrawRangeElementsUShort::DrawRangeElementsUShort(), vl::EdgeExtractor::EdgeExtractor(), vl::EdgeRenderer::EdgeRenderer(), vl::EdgeUpdateCallback::EdgeUpdateCallback(), vl::Effect::Effect(), vl::EnableSet::EnableSet(), vl::Extrusion::Extrusion(), vl::FBOAbstractTextureAttachment::FBOAbstractTextureAttachment(), vl::FBOColorBufferAttachment::FBOColorBufferAttachment(), vl::FBODepthBufferAttachment::FBODepthBufferAttachment(), vl::FBODepthStencilBufferAttachment::FBODepthStencilBufferAttachment(), vl::FBOStencilBufferAttachment::FBOStencilBufferAttachment(), vl::FBOTexture1DAttachment::FBOTexture1DAttachment(), vl::FBOTexture2DAttachment::FBOTexture2DAttachment(), vl::FBOTexture3DAttachment::FBOTexture3DAttachment(), vl::FBOTextureAttachment::FBOTextureAttachment(), vl::FBOTextureLayerAttachment::FBOTextureLayerAttachment(), vl::FileSystem::FileSystem(), vl::FlatManipulator::FlatManipulator(), vl::Fog::Fog(), vl::Framebuffer::Framebuffer(), vl::FrontFace::FrontFace(), vl::Geometry::Geometry(), vl::GhostCameraManipulator::GhostCameraManipulator(), vl::GlobalSettings::GlobalSettings(), vl::GLSLProgram::GLSLProgram(), vl::GLSLShader::GLSLShader(), vl::Hint::Hint(), vl::Image::Image(), vl::ImagePBO::ImagePBO(), vl::IndexIterator::IndexIterator(), vl::IndexIteratorAbstract::IndexIteratorAbstract(), vl::IndexIteratorDrawArrays::IndexIteratorDrawArrays(), vl::IndexIteratorElements< TArray >::IndexIteratorElements(), vl::Interpolator::Interpolator(), vl::KeyValues::KeyValues(), vl::Light::Light(), vl::LightModel::LightModel(), vl::LinearInterpolator< T >::LinearInterpolator(), vl::LineStipple::LineStipple(), vl::LineWidth::LineWidth(), vl::LoadWriterBMP::LoadWriterBMP(), vl::LoadWriterDAT::LoadWriterDAT(), vl::LoadWriterDDS::LoadWriterDDS(), vl::LoadWriterDICOM::LoadWriterDICOM(), vl::LoadWriterJPG::LoadWriterJPG(), vl::LoadWriterManager::LoadWriterManager(), vl::LoadWriterPNG::LoadWriterPNG(), vl::LoadWriterTGA::LoadWriterTGA(), vl::LoadWriterTIFF::LoadWriterTIFF(), vl::LODEvaluator::LODEvaluator(), vl::Log::Log(), vl::LogicOp::LogicOp(), vl::Material::Material(), vl::Molecule::Molecule(), vl::MorphingCallback::MorphingCallback(), vl::MultiDrawElements< ArrayUShort1 >::MultiDrawElements(), vl::MultiDrawElementsUByte::MultiDrawElementsUByte(), vl::MultiDrawElementsUInt::MultiDrawElementsUInt(), vl::MultiDrawElementsUShort::MultiDrawElementsUShort(), vl::Normal::Normal(), vl::Object::Object(), vl::OcclusionCullRenderer::OcclusionCullRenderer(), vl::OpenGLContext::OpenGLContext(), vl::PatchParameter::PatchParameter(), vl::PixelLODEvaluator::PixelLODEvaluator(), vl::DrawPixels::Pixels::Pixels(), vl::PixelTransfer::PixelTransfer(), vl::Plane::Plane(), vl::PointParameter::PointParameter(), vl::PointSize::PointSize(), vl::PolygonMode::PolygonMode(), vl::PolygonOffset::PolygonOffset(), vl::PolygonStipple::PolygonStipple(), vl::Portal::Portal(), vl::ProjViewTransfCallback::ProjViewTransfCallback(), vl::Random::Random(), vl::RaycastVolume::RaycastVolume(), vl::RayIntersection::RayIntersection(), vl::RayIntersectionGeometry::RayIntersectionGeometry(), vl::RayIntersector::RayIntersector(), vl::ReadPixels::ReadPixels(), vl::Renderer::Renderer(), vl::RendererAbstract::RendererAbstract(), vl::RenderEventCallback::RenderEventCallback(), vl::Rendering::Rendering(), vl::RenderingAbstract::RenderingAbstract(), vl::RenderQueue::RenderQueue(), vl::RenderQueueSorter::RenderQueueSorter(), vl::RenderQueueSorterAggressive::RenderQueueSorterAggressive(), vl::RenderQueueSorterBasic::RenderQueueSorterBasic(), vl::RenderQueueSorterByRenderable::RenderQueueSorterByRenderable(), vl::RenderQueueSorterByShader::RenderQueueSorterByShader(), vl::RenderQueueSorterOcclusion::RenderQueueSorterOcclusion(), vl::RenderQueueSorterStandard::RenderQueueSorterStandard(), vl::RenderState::RenderState(), vl::RenderStateIndexed::RenderStateIndexed(), vl::RenderStateNonIndexed::RenderStateNonIndexed(), vl::RenderStateSet::RenderStateSet(), vl::RenderToken::RenderToken(), vl::ResourceDatabase::ResourceDatabase(), vl::SampleCoverage::SampleCoverage(), vl::SceneManager::SceneManager(), vl::SceneManagerActorKdTree::SceneManagerActorKdTree(), vl::SceneManagerActorTree::SceneManagerActorTree(), vl::SceneManagerPortals::SceneManagerPortals(), vl::SecondaryColor::SecondaryColor(), vl::Sector::Sector(), vl::ShadeModel::ShadeModel(), vl::Shader::Shader(), vl::ShaderPasses::ShaderPasses(), vl::SlicedVolume::SlicedVolume(), vl::StencilFunc::StencilFunc(), vl::StencilMask::StencilMask(), vl::StencilOp::StencilOp(), vl::Tessellator::Tessellator(), vl::TexEnv::TexEnv(), vl::TexGen::TexGen(), vl::Text::Text(), vl::Texture::Texture(), vl::TextureSampler::TextureSampler(), vl::Time::Time(), vl::TrackballManipulator::TrackballManipulator(), vl::Transform::Transform(), vl::TriangleIteratorDirect::TriangleIteratorDirect(), vl::TriangleIteratorIndexed< TArray >::TriangleIteratorIndexed(), vl::TriangleIteratorMulti< TArray >::TriangleIteratorMulti(), vl::UIEventListener::UIEventListener(), vl::Uniform::Uniform(), vl::UniformSet::UniformSet(), vl::VertexAttrib::VertexAttrib(), vl::Viewport::Viewport(), vl::Volume::Volume(), vl::VolumeInfo::VolumeInfo(), and vl::VolumePlot::VolumePlot().

#define VL_glLoadMatrix glLoadMatrixf

Defined as `glLoadMatrixf`, used internally.

Definition at line 231 of file config.hpp.

Referenced by vl::TextureMatrix::apply(), vl::Camera::applyModelViewMatrix(), vl::Camera::applyProjMatrix(), vl::Camera::applyViewMatrix(), vl::EdgeRenderer::renderLines(), vl::EdgeRenderer::renderSolids(), and vl::ProjViewTransfCallback::updateMatrices().

#define VL_glMultMatrix glMultMatrixf

Defined as `glMultMatrixf`, used internally.

Definition at line 233 of file config.hpp.

Referenced by vl::Camera::applyModelViewMatrix(), vl::EdgeRenderer::renderLines(), and vl::EdgeRenderer::renderSolids().

#define VLCORE_EXPORT

Definition at line 257 of file config.hpp.

Visualization Library v2011.09.1162 Reference Documentation
Copyright 2005-2011 Michele Bosi. All rights reserved.
Updated on Thu Jan 26 2012 00:43:48.
Permission is granted to use this page to write and publish articles regarding Visualization Library.