Visualization Library v1.0.3

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

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Namespaces | Defines | Typedefs

/home/master/UCL/VisualizationLibrary/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.

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.

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


Visualization Library v1.0.3 Reference Documentation
Copyright Michele Bosi. All rights reserved.
Updated on Tue Feb 7 2017 00:55:04.
Permission is granted to use this page to write and publish articles regarding Visualization Library.