From 660d5c4e84dc69268bd5fd597c68ec125baee405 Mon Sep 17 00:00:00 2001 From: David Greaves Date: Mon, 17 Feb 2014 22:28:59 +0000 Subject: [PATCH] docs: clarify the use of Importer properties in post processing steps Signed-off-by: David Greaves --- include/assimp/postprocess.h | 47 +++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/include/assimp/postprocess.h b/include/assimp/postprocess.h index b3dc8cafb..f078fd692 100644 --- a/include/assimp/postprocess.h +++ b/include/assimp/postprocess.h @@ -54,7 +54,10 @@ extern "C" { /** @enum aiPostProcessSteps * @brief Defines the flags for all possible post processing steps. * - * @see Importer::ReadFile + * @note Some steps are influenced by properties set on the Assimp::Importer itself + * + * @see Assimp::Importer::ReadFile() + * @see Assimp::Importer::SetPropertyInteger() * @see aiImportFile * @see aiImportFileEx */ @@ -67,7 +70,7 @@ enum aiPostProcessSteps * * Does nothing if a mesh does not have normals. You might want this post * processing step to be executed if you plan to use tangent space calculations - * such as normal mapping applied to the meshes. There's a config setting, + * such as normal mapping applied to the meshes. There's an importer property, * #AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE, which allows you to specify * a maximum smoothing angle for the algorithm. However, usually you'll * want to leave it at the default value. @@ -114,7 +117,7 @@ enum aiPostProcessSteps * solution: * */ aiProcess_Triangulate = 0x8, @@ -124,7 +127,7 @@ enum aiPostProcessSteps * light sources, cameras, textures, vertex components). * * The components to be removed are specified in a separate - * configuration option, #AI_CONFIG_PP_RVC_FLAGS. This is quite useful + * importer property, #AI_CONFIG_PP_RVC_FLAGS. This is quite useful * if you don't need all parts of the output structure. Vertex colors * are rarely used today for example... Calling this step to remove unneeded * data from the pipeline as early as possible results in increased @@ -167,7 +170,7 @@ enum aiPostProcessSteps * they're usually already there. * * This flag may not be specified together with - * #aiProcess_GenNormals. There's a configuration option, + * #aiProcess_GenNormals. There's a importer property, * #AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE which allows you to specify * an angle maximum for the normal smoothing algorithm. Normals exceeding * this limit are not smoothed, resulting in a 'hard' seam between two faces. @@ -187,7 +190,7 @@ enum aiPostProcessSteps * * The split limits can (and should!) be set through the * #AI_CONFIG_PP_SLM_VERTEX_LIMIT and #AI_CONFIG_PP_SLM_TRIANGLE_LIMIT - * settings. The default values are #AI_SLM_DEFAULT_MAX_VERTICES and + * importer properties. The default values are #AI_SLM_DEFAULT_MAX_VERTICES and * #AI_SLM_DEFAULT_MAX_TRIANGLES. * * Note that splitting is generally a time-consuming task, but only if there's @@ -224,8 +227,8 @@ enum aiPostProcessSteps * important vertex weights are removed and the remaining vertex weights are * renormalized so that the weights still sum up to 1. * The default bone weight limit is 4 (defined as #AI_LMW_MAX_WEIGHTS in - * config.h), but you can use the #AI_CONFIG_PP_LBW_MAX_WEIGHTS setting to - * supply your own limit to the post processing step. + * config.h), but you can use the #AI_CONFIG_PP_LBW_MAX_WEIGHTS importer + * property to supply your own limit to the post processing step. * * If you intend to perform the skinning in hardware, this post processing * step might be of interest to you. @@ -270,8 +273,8 @@ enum aiPostProcessSteps * paper). * * If you intend to render huge models in hardware, this step might - * be of interest to you. The #AI_CONFIG_PP_ICL_PTCACHE_SIZEconfig - * setting can be used to fine-tune the cache optimization. + * be of interest to you. The #AI_CONFIG_PP_ICL_PTCACHE_SIZE + * importer property can be used to fine-tune the cache optimization. */ aiProcess_ImproveCacheLocality = 0x800, @@ -292,7 +295,7 @@ enum aiPostProcessSteps * So, if you're passing additional information through the * content pipeline (probably using *magic* material names), don't * specify this flag. Alternatively take a look at the - * #AI_CONFIG_PP_RRM_EXCLUDE_LIST setting. + * #AI_CONFIG_PP_RRM_EXCLUDE_LIST importer property. */ aiProcess_RemoveRedundantMaterials = 0x1000, @@ -318,9 +321,9 @@ enum aiPostProcessSteps * returns, just one bit is set in aiMesh::mPrimitiveTypes. This is * especially useful for real-time rendering where point and line * primitives are often ignored or rendered separately. - * You can use the #AI_CONFIG_PP_SBP_REMOVE option to specify which - * primitive types you need. This can be used to easily exclude - * lines and points, which are rarely used, from the import. + * You can use the #AI_CONFIG_PP_SBP_REMOVE importer property to + * specify which primitive types you need. This can be used to easily + * exclude lines and points, which are rarely used, from the import. */ aiProcess_SortByPType = 0x8000, @@ -336,9 +339,9 @@ enum aiPostProcessSteps * @@ -349,7 +352,7 @@ enum aiPostProcessSteps *
  • Specify the #aiProcess_SortByPType flag. This moves line and * point primitives to separate meshes. *
  • - *
  • Set the AI_CONFIG_PP_SBP_REMOVE option to + *
  • Set the #AI_CONFIG_PP_SBP_REMOVE importer property to * @code aiPrimitiveType_POINTS | aiPrimitiveType_LINES * @endcode to cause SortByPType to reject point * and line meshes from the scene. @@ -446,9 +449,9 @@ enum aiPostProcessSteps * * Node names can be lost during this step. If you use special 'tag nodes' * to pass additional information through your content pipeline, use the - * #AI_CONFIG_PP_OG_EXCLUDE_LIST setting to specify a list of node - * names you want to be kept. Nodes matching one of the names in this list won't - * be touched or modified. + * #AI_CONFIG_PP_OG_EXCLUDE_LIST importer property to specify a + * list of node names you want to be kept. Nodes matching one of the names + * in this list won't be touched or modified. * * Use this flag with caution. Most simple files will be collapsed to a * single node, so complex hierarchies are usually completely lost. This is not @@ -627,4 +630,4 @@ enum aiPostProcessSteps } // end of extern "C" #endif -#endif // AI_POSTPROCESS_H_INC \ No newline at end of file +#endif // AI_POSTPROCESS_H_INC