Merge branch 'release/1.10.x'

This commit is contained in:
rdb 2019-01-11 23:29:13 +01:00
commit 7464e18b72
5 changed files with 33 additions and 2 deletions

View File

@ -110,7 +110,7 @@ If you are on Ubuntu, this command should cover the most frequently
used third-party packages:
```bash
sudo apt-get install build-essential pkg-config python-dev libpng-dev libjpeg-dev libtiff-dev zlib1g-dev libssl-dev libx11-dev libgl1-mesa-dev libxrandr-dev libxxf86dga-dev libxcursor-dev bison flex libfreetype6-dev libvorbis-dev libeigen3-dev libopenal-dev libode-dev libbullet-dev nvidia-cg-toolkit libgtk2.0-dev libassimp-dev libopenexr-dev
sudo apt-get install build-essential pkg-config fakeroot python-dev libpng-dev libjpeg-dev libtiff-dev zlib1g-dev libssl-dev libx11-dev libgl1-mesa-dev libxrandr-dev libxxf86dga-dev libxcursor-dev bison flex libfreetype6-dev libvorbis-dev libeigen3-dev libopenal-dev libode-dev libbullet-dev nvidia-cg-toolkit libgtk2.0-dev libassimp-dev libopenexr-dev
```
Once Panda3D has built, you can either install the .deb or .rpm package that

View File

@ -438,7 +438,8 @@ def MakeInstallerLinux(version, debversion=None, rpmrelease=1, runtime=False,
# Add the binaries in /usr/bin explicitly to the spec file
for base in os.listdir(outputdir + "/bin"):
txt += "/usr/bin/%s\n" % (base)
if not base.startswith("deploy-stub"):
txt += "/usr/bin/%s\n" % (base)
# Write out the spec file.
txt = txt.replace("VERSION", version)

View File

@ -129,6 +129,16 @@ read(const Filename &filename) {
if (assimp_flip_winding_order) {
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);
if (_scene == nullptr) {

View File

@ -69,6 +69,23 @@ ConfigVariableBool assimp_flip_winding_order
"the Assimp loader. Note that you may need to clear the model-cache "
"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
* the functions or classes in this library can be used. Normally it will be

View File

@ -16,6 +16,7 @@
#include "pandatoolbase.h"
#include "configVariableBool.h"
#include "configVariableDouble.h"
#include "dconfig.h"
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_graph;
extern ConfigVariableBool assimp_flip_winding_order;
extern ConfigVariableBool assimp_gen_normals;
extern ConfigVariableDouble assimp_smooth_normal_angle;
extern EXPCL_ASSIMP void init_libassimp();