summaryrefslogtreecommitdiff
path: root/src/mesh/assimp-master/port/dAssimp/assimp/config.d
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2022-03-04 10:47:15 -0600
committersanine <sanine.not@pm.me>2022-03-04 10:47:15 -0600
commit058f98a63658dc1a2579826ba167fd61bed1e21f (patch)
treebcba07a1615a14d943f3af3f815a42f3be86b2f3 /src/mesh/assimp-master/port/dAssimp/assimp/config.d
parent2f8028ac9e0812cb6f3cbb08f0f419e4e717bd22 (diff)
add assimp submodule
Diffstat (limited to 'src/mesh/assimp-master/port/dAssimp/assimp/config.d')
-rw-r--r--src/mesh/assimp-master/port/dAssimp/assimp/config.d705
1 files changed, 705 insertions, 0 deletions
diff --git a/src/mesh/assimp-master/port/dAssimp/assimp/config.d b/src/mesh/assimp-master/port/dAssimp/assimp/config.d
new file mode 100644
index 0000000..761156b
--- /dev/null
+++ b/src/mesh/assimp-master/port/dAssimp/assimp/config.d
@@ -0,0 +1,705 @@
+/*
+---------------------------------------------------------------------------
+Open Asset Import Library (ASSIMP)
+---------------------------------------------------------------------------
+
+Copyright (c) 2006-2020, ASSIMP Development Team
+
+All rights reserved.
+
+Redistribution and use of this software in source and binary forms,
+with or without modification, are permitted provided that the following
+conditions are met:
+
+ * Redistributions of source code must retain the above
+ copyright notice, this list of conditions and the
+ following disclaimer.
+
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the
+ following disclaimer in the documentation and/or other
+ materials provided with the distribution.
+
+ * Neither the name of the ASSIMP team, nor the names of its
+ contributors may be used to endorse or promote products
+ derived from this software without specific prior
+ written permission of the ASSIMP Development Team.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+---------------------------------------------------------------------------
+*/
+
+/**
+ * Defines constants for configurable properties for the library.
+ *
+ * These are set via <code>aiSetImportPropertyInteger()</code>,
+ * <code>aiSetImportPropertyFloat()</code> and
+ * <code>aiSetImportPropertyString()</code>.
+ */
+module assimp.config;
+
+extern ( C ) {
+ /*
+ * Library settings.
+ *
+ * General, global settings.
+ */
+
+ /**
+ * Enables time measurements.
+ *
+ * If enabled, measures the time needed for each part of the loading
+ * process (i.e. IO time, importing, postprocessing, ..) and dumps these
+ * timings to the DefaultLogger. See the performance page in the main
+ * Assimp docs information on this topic.
+ *
+ * Property type: bool. Default value: false.
+ */
+ const char* AI_CONFIG_GLOB_MEASURE_TIME = "GLOB_MEASURE_TIME";
+
+ version( none ) { // not implemented yet
+ /**
+ * Set Assimp's multithreading policy.
+ *
+ * This setting is ignored if Assimp was built without boost.thread support
+ * (<code>ASSIMP_BUILD_NO_THREADING</code>, which is implied by
+ * <code>ASSIMP_BUILD_BOOST_WORKAROUND</code>).
+ *
+ * Possible values are: -1 to let Assimp decide what to do, 0 to disable
+ * multithreading entirely and any number larger than 0 to force a specific
+ * number of threads. Assimp is always free to ignore this settings, which
+ * is merely a hint. Usually, the default value (-1) will be fine. However,
+ * if Assimp is used concurrently from multiple user threads, it might be
+ * useful to limit each Importer instance to a specific number of cores.
+ *
+ * For more information, see the threading page in the main Assimp docs.
+ *
+ * Property type: int, default value: -1.
+ */
+ const char* AI_CONFIG_GLOB_MULTITHREADING = "GLOB_MULTITHREADING";
+ }
+
+
+ /*
+ * Post processing settings.
+ *
+ * Various options to fine-tune the behavior of a specific post processing step.
+ */
+
+ /**
+ * Specifies the maximum angle that may be between two vertex tangents that
+ * their tangents and bitangents are smoothed.
+ *
+ * This applies to the <code>CalcTangentSpace</code> step. The angle is
+ * specified in degrees, so 180 corresponds to PI radians.
+ *
+ * The default value is 45, the maximum value is 175.
+ *
+ * Property type: float.
+ */
+ const char* AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE = "PP_CT_MAX_SMOOTHING_ANGLE";
+
+ /**
+ * Specifies the maximum angle that may be between two face normals at the
+ * same vertex position that their are smoothed together. Sometimes referred
+ * to as 'crease angle'.
+ *
+ * This applies to the <code>GenSmoothNormals</code> step. The angle is
+ * specified in degrees, so 180 corresponds to PI radians.
+ *
+ * The default value is 175 degrees (all vertex normals are smoothed), the
+ * maximum value is 175, too.
+ *
+ * Property type: float.
+ *
+ * Warning:
+ * Setting this option may cause a severe loss of performance. The
+ * performance is unaffected if the <code>AI_CONFIG_FAVOUR_SPEED</code>
+ * flag is set but the output quality may be reduced.
+ */
+ const char* AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE = "PP_GSN_MAX_SMOOTHING_ANGLE";
+
+ /**
+ * Sets the colormap (= palette) to be used to decode embedded textures in
+ * MDL (Quake or 3DGS) files.
+ *
+ * This must be a valid path to a file. The file is 768 (256*3) bytes large
+ * and contains RGB triplets for each of the 256 palette entries. The
+ * default value is colormap.lmp. If the file is not found, a default
+ * palette (from Quake 1) is used.
+ *
+ * Property type: string.
+ */
+ const char* AI_CONFIG_IMPORT_MDL_COLORMAP = "IMPORT_MDL_COLORMAP";
+
+ /**
+ * Configures the <code>RemoveRedundantMaterials</code> step to keep
+ * materials matching a name in a given list.
+ *
+ * This is a list of 1 to n strings, ' ' serves as delimiter character.
+ * Identifiers containing whitespaces must be enclosed in <em>single</em>
+ * quotation marks. For example: <code>
+ * "keep-me and_me_to anotherMaterialToBeKept \'name with whitespace\'"</code>.
+ * Linefeeds, tabs or carriage returns are treated as whitespace.
+ *
+ * If a material matches on of these names, it will not be modified or
+ * removed by the postprocessing step nor will other materials be replaced
+ * by a reference to it.
+ *
+ * This option might be useful if you are using some magic material names
+ * to pass additional semantics through the content pipeline. This ensures
+ * they won't be optimized away, but a general optimization is still
+ * performed for materials not contained in the list.
+ *
+ * Default value: n/a
+ *
+ * Property type: string.
+ *
+ * Note: Material names are case sensitive.
+ */
+ const char* AI_CONFIG_PP_RRM_EXCLUDE_LIST = "PP_RRM_EXCLUDE_LIST";
+
+ /**
+ * Configures the <code>PretransformVertices</code> step to keep the scene
+ * hierarchy. Meshes are moved to worldspace, but no optimization is
+ * performed (meshes with equal materials are not joined, the total number
+ * of meshes will not change).
+ *
+ * This option could be of use for you if the scene hierarchy contains
+ * important additional information which you intend to parse.
+ * For rendering, you can still render all meshes in the scene without
+ * any transformations.
+ *
+ * Default value: false.
+ *
+ * Property type: bool.
+ */
+ const char* AI_CONFIG_PP_PTV_KEEP_HIERARCHY = "PP_PTV_KEEP_HIERARCHY";
+
+ /**
+ * Configures the <code>PretransformVertices</code> step to normalize all
+ * vertex components into the -1...1 range. That is, a bounding box for the
+ * whole scene is computed, the maximum component is taken and all meshes
+ * are scaled appropriately (uniformly of course!).
+ *
+ * This might be useful if you don't know the spatial dimension of the input
+ * data.
+ */
+ const char* AI_CONFIG_PP_PTV_NORMALIZE = "PP_PTV_NORMALIZE";
+
+ /**
+ * Configures the <code>FindDegenerates</code> step to remove degenerated
+ * primitives from the import – immediately.
+ *
+ * The default behaviour converts degenerated triangles to lines and
+ * degenerated lines to points. See the documentation to the
+ * <code>FindDegenerates</code> step for a detailed example of the various
+ * ways to get rid of these lines and points if you don't want them.
+ *
+ * Default value: false.
+ *
+ * Property type: bool.
+ */
+ const char* AI_CONFIG_PP_FD_REMOVE = "PP_FD_REMOVE";
+
+ /**
+ * Configures the <code>OptimizeGraph</code> step to preserve nodes matching
+ * a name in a given list.
+ *
+ * This is a list of 1 to n strings, ' ' serves as delimiter character.
+ * Identifiers containing whitespaces must be enclosed in <em>single</em>
+ * quotation marks. For example: <code>
+ * "keep-me and_me_to anotherMaterialToBeKept \'name with whitespace\'"</code>.
+ * Linefeeds, tabs or carriage returns are treated as whitespace.
+ *
+ * If a node matches on of these names, it will not be modified or
+ * removed by the postprocessing step.
+ *
+ * This option might be useful if you are using some magic node names
+ * to pass additional semantics through the content pipeline. This ensures
+ * they won't be optimized away, but a general optimization is still
+ * performed for nodes not contained in the list.
+ *
+ * Default value: n/a
+ *
+ * Property type: string.
+ *
+ * Note: Node names are case sensitive.
+ */
+ const char* AI_CONFIG_PP_OG_EXCLUDE_LIST = "PP_OG_EXCLUDE_LIST";
+
+ /**
+ * Sets the maximum number of triangles in a mesh.
+ *
+ * This is used by the <code>SplitLargeMeshes</code> step to determine
+ * whether a mesh must be split or not.
+ *
+ * Default value: AI_SLM_DEFAULT_MAX_TRIANGLES.
+ *
+ * Property type: integer.
+ */
+ const char* AI_CONFIG_PP_SLM_TRIANGLE_LIMIT = "PP_SLM_TRIANGLE_LIMIT";
+
+ /**
+ * The default value for the AI_CONFIG_PP_SLM_TRIANGLE_LIMIT setting.
+ */
+ const AI_SLM_DEFAULT_MAX_TRIANGLES = 1000000;
+
+ /**
+ * Sets the maximum number of vertices in a mesh.
+ *
+ * This is used by the <code>SplitLargeMeshes</code> step to determine
+ * whether a mesh must be split or not.
+ *
+ * Default value: AI_SLM_DEFAULT_MAX_VERTICES
+ *
+ * Property type: integer.
+ */
+ const char* AI_CONFIG_PP_SLM_VERTEX_LIMIT = "PP_SLM_VERTEX_LIMIT";
+
+ /**
+ * The default value for the AI_CONFIG_PP_SLM_VERTEX_LIMIT setting.
+ */
+ const AI_SLM_DEFAULT_MAX_VERTICES = 1000000;
+
+ /**
+ * Sets the maximum number of bones affecting a single vertex.
+ *
+ * This is used by the <code>LimitBoneWeights</code> step.
+ *
+ * Default value: AI_LBW_MAX_WEIGHTS
+ *
+ * Property type: integer.
+ */
+ const char* AI_CONFIG_PP_LBW_MAX_WEIGHTS = "PP_LBW_MAX_WEIGHTS";
+
+ /**
+ * The default value for the AI_CONFIG_PP_LBW_MAX_WEIGHTS setting.
+ */
+ const AI_LMW_MAX_WEIGHTS = 0x4;
+
+ /**
+ * Sets the size of the post-transform vertex cache to optimize the
+ * vertices for. This configures the <code>ImproveCacheLocality</code> step.
+ *
+ * The size is given in vertices. Of course you can't know how the vertex
+ * format will exactly look like after the import returns, but you can still
+ * guess what your meshes will probably have.
+ *
+ * The default value results in slight performance improvements for most
+ * nVidia/AMD cards since 2002.
+ *
+ * Default value: PP_ICL_PTCACHE_SIZE
+ *
+ * Property type: integer.
+ */
+ const char* AI_CONFIG_PP_ICL_PTCACHE_SIZE = "PP_ICL_PTCACHE_SIZE";
+
+ /**
+ * The default value for the AI_CONFIG_PP_ICL_PTCACHE_SIZE config option.
+ */
+ const PP_ICL_PTCACHE_SIZE = 12;
+
+ /**
+ * Components of the <code>aiScene</code> and <code>aiMesh</code> data
+ * structures that can be excluded from the import by using the
+ * <code>RemoveComponent</code> step.
+ *
+ * See the documentation to <code>RemoveComponent</code> for more details.
+ */
+ enum aiComponent : uint {
+ /**
+ * Normal vectors.
+ */
+ NORMALS = 0x2,
+
+ /**
+ * Tangents and bitangents.
+ */
+ TANGENTS_AND_BITANGENTS = 0x4,
+
+ /**
+ * <em>All</em> color sets.
+ *
+ * Use aiComponent_COLORSn( N ) to specify the N'th set.
+ */
+ COLORS = 0x8,
+
+ /**
+ * <em>All</em> texture UV coordinate sets.
+ *
+ * Use aiComponent_TEXCOORDn( N ) to specify the N'th set.
+ */
+ TEXCOORDS = 0x10,
+
+ /**
+ * Bone weights from all meshes.
+ *
+ * The corresponding scenegraph nodes are <em>not</em> removed. Use the
+ * <code>OptimizeGraph</code> step to do this.
+ */
+ BONEWEIGHTS = 0x20,
+
+ /**
+ * Node animations (<code>aiScene.mAnimations</code>).
+ *
+ * The corresponding scenegraph nodes are <em>not</em> removed. Use the
+ * <code>OptimizeGraph</code> step to do this.
+ */
+ ANIMATIONS = 0x40,
+
+ /**
+ * Embedded textures (<code>aiScene.mTextures</code>).
+ */
+ TEXTURES = 0x80,
+
+ /**
+ * Light sources (<code>aiScene.mLights</code>).
+ *
+ * The corresponding scenegraph nodes are <em>not</em> removed. Use the
+ * <code>OptimizeGraph</code> step to do this.
+ */
+ LIGHTS = 0x100,
+
+ /**
+ * Cameras (<code>aiScene.mCameras</code>).
+ *
+ * The corresponding scenegraph nodes are <em>not</em> removed. Use the
+ * <code>OptimizeGraph</code> step to do this.
+ */
+ CAMERAS = 0x200,
+
+ /**
+ * Meshes (<code>aiScene.mMeshes</code>).
+ */
+ MESHES = 0x400,
+
+ /** Materials.
+ *
+ * One default material will be generated, so
+ * <code>aiScene.mNumMaterials</code> will be 1.
+ */
+ MATERIALS = 0x800
+ }
+
+ /**
+ * Specifies a certain color channel to remove.
+ */
+ uint aiComponent_COLORSn( uint n ) { return 1u << ( n + 20u ); }
+
+ /**
+ * Specifies a certain UV coordinate channel to remove.
+ */
+ uint aiComponent_TEXCOORDSn( uint n ) { return 1u << ( n + 25u ); }
+
+ /**
+ * Input parameter to the <code>RemoveComponent</code> step:
+ * Specifies the parts of the data structure to be removed.
+ *
+ * See the documentation to this step for further details.
+ *
+ * Default value: 0
+ *
+ * Property type: integer (bitwise combination of <code>aiComponent</code>
+ * flags).
+ *
+ * Note: If no valid mesh is remaining after the step has been executed, the
+ * import <em>fails</em>, because there is no data to work on anymore.
+ */
+ const char* AI_CONFIG_PP_RVC_FLAGS = "PP_RVC_FLAGS";
+
+ /**
+ * Input parameter to the <code>SortByPType</code> step:
+ * Specifies which primitive types are removed by the step.
+ *
+ * This is a bitwise combination of the <code>aiPrimitiveType</code> flags.
+ * Specifying all of them is illegal, of course. A typical use would be to
+ * exclude all line and point meshes from the import.
+ *
+ * Default value: 0
+ *
+ * Property type: integer.
+ */
+ const char* AI_CONFIG_PP_SBP_REMOVE = "PP_SBP_REMOVE";
+
+ /**
+ * Input parameter to the <code>FindInvalidData</code> step:
+ * Specifies the floating-point accuracy for animation values.
+ *
+ * The step checks for animation tracks where all frame values are
+ * absolutely equal and removes them. This tweakable controls the epsilon
+ * for floating-point comparisons – two keys are considered equal if the
+ * invariant abs(n0-n1) > epsilon holds true for all vector respectively
+ * quaternion components.
+ *
+ * Default value: 0 (exact comparison).
+ *
+ * Property type: float.
+ */
+ const char* AI_CONFIG_PP_FID_ANIM_ACCURACY = "PP_FID_ANIM_ACCURACY";
+
+ /**
+ * The <code>TransformUVCoords</code> step evaluates UV scalings.
+ */
+ const AI_UVTRAFO_SCALING = 0x1;
+
+ /**
+ * The <code>TransformUVCoords</code> step evaluates UV rotations.
+ */
+ const AI_UVTRAFO_ROTATION = 0x2;
+
+ /**
+ * The <code>TransformUVCoords</code> step evaluates UV translation.
+ */
+ const AI_UVTRAFO_TRANSLATION = 0x4;
+
+ /**
+ * The <code>TransformUVCoords</code> step evaluates all UV translations.
+ */
+ const AI_UVTRAFO_ALL =
+ AI_UVTRAFO_SCALING
+ | AI_UVTRAFO_ROTATION
+ | AI_UVTRAFO_TRANSLATION;
+
+ /**
+ * Input parameter to the <code>TransformUVCoords</code> step: Specifies
+ * which UV transformations are evaluated.
+ *
+ * Default value: AI_UVTRAFO_ALL.
+ *
+ * Property type: integer (bitwise combination of the
+ * <code>AI_UVTRAFO_XXX<code> flag).
+ */
+ const char* AI_CONFIG_PP_TUV_EVALUATE = "PP_TUV_EVALUATE";
+
+ /**
+ * A hint to assimp to favour speed against import quality.
+ *
+ * Enabling this option may result in faster loading, but it needn't.
+ * It represents just a hint to loaders and post-processing steps to use
+ * faster code paths, if possible.
+ *
+ * Default value: false.
+ *
+ * Property type: bool.
+ */
+ const char* AI_CONFIG_FAVOUR_SPEED = "FAVOUR_SPEED";
+
+
+ /*
+ * Importer settings.
+ *
+ * Various stuff to fine-tune the behaviour of specific importer plugins.
+ */
+
+ /**
+ * Set the vertex animation keyframe to be imported.
+ *
+ * Assimp does not support vertex keyframes (only bone animation is
+ * supported). The library reads only one frame of models with vertex
+ * animations.
+ *
+ * Default value: 0 (first frame).
+ *
+ * Property type: integer.
+ *
+ * Note: This option applies to all importers. However, it is also possible
+ * to override the global setting for a specific loader. You can use the
+ * AI_CONFIG_IMPORT_XXX_KEYFRAME options (where XXX is a placeholder for
+ * the file format for which you want to override the global setting).
+ */
+ const char* AI_CONFIG_IMPORT_GLOBAL_KEYFRAME = "IMPORT_GLOBAL_KEYFRAME";
+
+ const char* AI_CONFIG_IMPORT_MD3_KEYFRAME = "IMPORT_MD3_KEYFRAME";
+ const char* AI_CONFIG_IMPORT_MD2_KEYFRAME = "IMPORT_MD2_KEYFRAME";
+ const char* AI_CONFIG_IMPORT_MDL_KEYFRAME = "IMPORT_MDL_KEYFRAME";
+ const char* AI_CONFIG_IMPORT_MDC_KEYFRAME = "IMPORT_MDC_KEYFRAME";
+ const char* AI_CONFIG_IMPORT_SMD_KEYFRAME = "IMPORT_SMD_KEYFRAME";
+ const char* AI_CONFIG_IMPORT_UNREAL_KEYFRAME = "IMPORT_UNREAL_KEYFRAME";
+
+
+ /**
+ * Configures the AC loader to collect all surfaces which have the
+ * "Backface cull" flag set in separate meshes.
+ *
+ * Default value: true.
+ *
+ * Property type: bool.
+ */
+ const char* AI_CONFIG_IMPORT_AC_SEPARATE_BFCULL = "IMPORT_AC_SEPARATE_BFCULL";
+
+ /**
+ * Configures the UNREAL 3D loader to separate faces with different surface
+ * flags (e.g. two-sided vs. single-sided).
+ *
+ * Default value: true.
+ *
+ * Property type: bool.
+ */
+ const char* AI_CONFIG_IMPORT_UNREAL_HANDLE_FLAGS = "UNREAL_HANDLE_FLAGS";
+
+ /**
+ * Configures the terragen import plugin to compute uv's for terrains, if
+ * not given. Furthermore, a default texture is assigned.
+ *
+ * UV coordinates for terrains are so simple to compute that you'll usually
+ * want to compute them on your own, if you need them. This option is intended
+ * for model viewers which want to offer an easy way to apply textures to
+ * terrains.
+ *
+ * Default value: false.
+ *
+ * Property type: bool.
+ */
+ const char* AI_CONFIG_IMPORT_TER_MAKE_UVS = "IMPORT_TER_MAKE_UVS";
+
+ /**
+ * Configures the ASE loader to always reconstruct normal vectors basing on
+ * the smoothing groups loaded from the file.
+ *
+ * Many ASE files have invalid normals (they're not orthonormal).
+ *
+ * Default value: true.
+ *
+ * Property type: bool.
+ */
+ const char* AI_CONFIG_IMPORT_ASE_RECONSTRUCT_NORMALS = "IMPORT_ASE_RECONSTRUCT_NORMALS";
+
+ /**
+ * Configures the M3D loader to detect and process multi-part Quake player
+ * models.
+ *
+ * These models usually consist of three files, <code>lower.md3</code>,
+ * <code>upper.md3</code> and <code>head.md3</code>. If this property is set
+ * to true, Assimp will try to load and combine all three files if one of
+ * them is loaded.
+ *
+ * Default value: true.
+ *
+ * Property type: bool.
+ */
+ const char* AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART = "IMPORT_MD3_HANDLE_MULTIPART";
+
+ /**
+ * Tells the MD3 loader which skin files to load.
+ *
+ * When loading MD3 files, Assimp checks whether a file
+ * <code><md3_file_name>_<skin_name>.skin</code> is existing. These files
+ * are used by Quake 3 to be able to assign different skins (e.g. red and
+ * blue team) to models. 'default', 'red', 'blue' are typical skin names.
+ *
+ * Default value: "default".
+ *
+ * Property type: string.
+ */
+ const char* AI_CONFIG_IMPORT_MD3_SKIN_NAME = "IMPORT_MD3_SKIN_NAME";
+
+ /**
+ * Specify the Quake 3 shader file to be used for a particular MD3 file.
+ * This can also be a search path.
+ *
+ * By default Assimp's behaviour is as follows: If a MD3 file
+ * <code>[any_path]/models/[any_q3_subdir]/[model_name]/[file_name].md3</code>
+ * is loaded, the library tries to locate the corresponding shader file in
+ * <code>[any_path]/scripts/[model_name].shader</code>. This property
+ * overrides this behaviour. It can either specify a full path to the shader
+ * to be loaded or alternatively the path (relative or absolute) to the
+ * directory where the shaders for all MD3s to be loaded reside. Assimp
+ * attempts to open <code>[dir]/[model_name].shader</code> first,
+ * <code>[dir]/[file_name].shader</code> is the fallback file. Note that
+ * <code>[dir]</code> should have a terminal (back)slash.
+ *
+ * Default value: n/a.
+ *
+ * Property type: string.
+ */
+ const char* AI_CONFIG_IMPORT_MD3_SHADER_SRC = "IMPORT_MD3_SHADER_SRC";
+
+ /**
+ * Configures the LWO loader to load just one layer from the model.
+ *
+ * LWO files consist of layers and in some cases it could be useful to load
+ * only one of them. This property can be either a string – which specifies
+ * the name of the layer – or an integer – the index of the layer. If the
+ * property is not set the whole LWO model is loaded. Loading fails if the
+ * requested layer is not available. The layer index is zero-based and the
+ * layer name may not be empty.
+ *
+ * Default value: all layers are loaded.
+ *
+ * Property type: integer/string.
+ */
+ const char* AI_CONFIG_IMPORT_LWO_ONE_LAYER_ONLY = "IMPORT_LWO_ONE_LAYER_ONLY";
+
+ /**
+ * Configures the MD5 loader to not load the MD5ANIM file for a MD5MESH file
+ * automatically.
+ *
+ * The default strategy is to look for a file with the same name but the
+ * MD5ANIM extension in the same directory. If it is found, it is loaded
+ * and combined with the MD5MESH file. This configuration option can be
+ * used to disable this behaviour.
+ *
+ * Default value: false.
+ *
+ * Property type: bool.
+ */
+ const char* AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD = "IMPORT_MD5_NO_ANIM_AUTOLOAD";
+
+ /**
+ * Defines the begin of the time range for which the LWS loader evaluates
+ * animations and computes <code>aiNodeAnim</code>s.
+ *
+ * Assimp provides full conversion of LightWave's envelope system, including
+ * pre and post conditions. The loader computes linearly subsampled animation
+ * chanels with the frame rate given in the LWS file. This property defines
+ * the start time. Note: animation channels are only generated if a node
+ * has at least one envelope with more tan one key assigned. This property.
+ * is given in frames, '0' is the first frame. By default, if this property
+ * is not set, the importer takes the animation start from the input LWS
+ * file ('FirstFrame' line).
+ *
+ * Default value: read from file.
+ *
+ * Property type: integer.
+ *
+ * See: <code>AI_CONFIG_IMPORT_LWS_ANIM_END</code> – end of the imported
+ * time range
+ */
+ const char* AI_CONFIG_IMPORT_LWS_ANIM_START = "IMPORT_LWS_ANIM_START";
+ const char* AI_CONFIG_IMPORT_LWS_ANIM_END = "IMPORT_LWS_ANIM_END";
+
+ /**
+ * Defines the output frame rate of the IRR loader.
+ *
+ * IRR animations are difficult to convert for Assimp and there will always
+ * be a loss of quality. This setting defines how many keys per second are
+ * returned by the converter.
+ *
+ * Default value: 100.
+ *
+ * Property type: integer.
+ */
+ const char* AI_CONFIG_IMPORT_IRR_ANIM_FPS = "IMPORT_IRR_ANIM_FPS";
+
+ /**
+ * Ogre Importer will try to load this material file.
+ *
+ * Ogre Mehs contain only the material name, not the material file. If there
+ * is no material file with the same name as the material, Ogre Importer
+ * will try to load this file and search the material in it.
+ *
+ * Property type: string. Default value: "Scene.material".
+ */
+ const char* AI_CONFIG_IMPORT_OGRE_MATERIAL_FILE = "IMPORT_OGRE_MATERIAL_FILE";
+}