mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 00:32:57 -04:00
add aiProcess_GenNormals + aiProcess_GenSmoothNormals
This commit is contained in:
parent
e4daa0bf16
commit
e1e5b907c1
@ -129,6 +129,16 @@ read(const Filename &filename) {
|
|||||||
if (assimp_flip_winding_order) {
|
if (assimp_flip_winding_order) {
|
||||||
flags |= aiProcess_FlipWindingOrder;
|
flags |= aiProcess_FlipWindingOrder;
|
||||||
}
|
}
|
||||||
|
if (assimp_gen_normals) {
|
||||||
|
if (assimp_smooth_normal_angle == 0.0) {
|
||||||
|
flags |= aiProcess_GenNormals;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
flags |= aiProcess_GenSmoothNormals;
|
||||||
|
_importer.SetPropertyFloat(AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE,
|
||||||
|
assimp_smooth_normal_angle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
_scene = _importer.ReadFile(_filename.c_str(), flags);
|
_scene = _importer.ReadFile(_filename.c_str(), flags);
|
||||||
if (_scene == nullptr) {
|
if (_scene == nullptr) {
|
||||||
|
@ -69,6 +69,23 @@ ConfigVariableBool assimp_flip_winding_order
|
|||||||
"the Assimp loader. Note that you may need to clear the model-cache "
|
"the Assimp loader. Note that you may need to clear the model-cache "
|
||||||
"after changing this."));
|
"after changing this."));
|
||||||
|
|
||||||
|
ConfigVariableBool assimp_gen_normals
|
||||||
|
("assimp-gen-normals", false,
|
||||||
|
PRC_DESC("Set this true to generate normals (if absent from file) on import. "
|
||||||
|
"See assimp-smooth-normal-angle for more information. "
|
||||||
|
"Note that you may need to clear the model-cache after "
|
||||||
|
"changing this."));
|
||||||
|
|
||||||
|
ConfigVariableDouble assimp_smooth_normal_angle
|
||||||
|
("assimp-smooth-normal-angle", 0.0,
|
||||||
|
PRC_DESC("Set this to anything other than 0.0 in degrees (so 180.0 is PI) to "
|
||||||
|
"specify the maximum angle that may be between two face normals at "
|
||||||
|
"the same vertex position that are smoothed together. Sometimes "
|
||||||
|
"referred to as 'crease angle'. Only has effect if "
|
||||||
|
"assimp-gen-normals is set to true and the file does not contain "
|
||||||
|
"normals. Note that you may need to clear the model-cache after "
|
||||||
|
"changing this."));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the library. This must be called at least once before any of
|
* Initializes the library. This must be called at least once before any of
|
||||||
* the functions or classes in this library can be used. Normally it will be
|
* the functions or classes in this library can be used. Normally it will be
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include "pandatoolbase.h"
|
#include "pandatoolbase.h"
|
||||||
#include "configVariableBool.h"
|
#include "configVariableBool.h"
|
||||||
|
#include "configVariableDouble.h"
|
||||||
#include "dconfig.h"
|
#include "dconfig.h"
|
||||||
|
|
||||||
ConfigureDecl(config_assimp, EXPCL_ASSIMP, EXPTP_ASSIMP);
|
ConfigureDecl(config_assimp, EXPCL_ASSIMP, EXPTP_ASSIMP);
|
||||||
@ -29,6 +30,8 @@ extern ConfigVariableBool assimp_fix_infacing_normals;
|
|||||||
extern ConfigVariableBool assimp_optimize_meshes;
|
extern ConfigVariableBool assimp_optimize_meshes;
|
||||||
extern ConfigVariableBool assimp_optimize_graph;
|
extern ConfigVariableBool assimp_optimize_graph;
|
||||||
extern ConfigVariableBool assimp_flip_winding_order;
|
extern ConfigVariableBool assimp_flip_winding_order;
|
||||||
|
extern ConfigVariableBool assimp_gen_normals;
|
||||||
|
extern ConfigVariableDouble assimp_smooth_normal_angle;
|
||||||
|
|
||||||
extern EXPCL_ASSIMP void init_libassimp();
|
extern EXPCL_ASSIMP void init_libassimp();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user