e3ef7f214a
FBX support and MMD (pmx) support. Normals, Albedo, Metallic, and Roughness through Arnold 5 Materials for Maya FBX. Maya FBX Stingray PBS support. Importing FBX static meshes work. Importing FBX animations is a work in progress. Supports FBX 4 bone influence animations. Supports FBX blend shapes. MMDs do not have an associated animation import yet. Sponsored by IMVU Inc.
96 lines
5.0 KiB
Python
96 lines
5.0 KiB
Python
#!/usr/bin/env python
|
|
|
|
Import('env')
|
|
Import('env_modules')
|
|
|
|
env_assimp = env_modules.Clone()
|
|
env_assimp.Append(CPPPATH=['#thirdparty/assimp'])
|
|
env_assimp.Append(CPPPATH=['#thirdparty/assimp/include'])
|
|
env_assimp.Append(CPPPATH=['#thirdparty/assimp/code/Importer/IFC'])
|
|
env_assimp.Append(CPPPATH=['#thirdparty/misc'])
|
|
env_assimp.Append(CPPPATH=['#thirdparty/assimp/code'])
|
|
env_assimp.Append(CPPPATH=['#thirdparty/assimp/contrib/irrXML/'])
|
|
env_assimp.Append(CPPPATH=['#thirdparty/assimp/contrib/unzip/'])
|
|
env_assimp.Append(CPPPATH=['#thirdparty/assimp/code/Importer/STEPParser'])
|
|
env_assimp.Append(CPPPATH=['#thirdparty/assimp/'])
|
|
env_assimp.Append(CPPPATH=['#thirdparty/zlib/'])
|
|
env_assimp.Append(CPPPATH=['#thirdparty/assimp/contrib/openddlparser/include'])
|
|
env_assimp.Append(CPPPATH=['#thirdparty/assimp/contrib/rapidjson/include'])
|
|
env_assimp.Append(CPPPATH=['.'])
|
|
#env_assimp.Append(CPPFLAGS=['-DASSIMP_DOUBLE_PRECISION']) # TODO default to what godot is compiled with for future double support
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_BOOST_WORKAROUND'])
|
|
env_assimp.Append(CPPFLAGS=['-DOPENDDLPARSER_BUILD'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_OWN_ZLIB'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_EXPORT'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_X_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_AMF_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_3DS_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MD3_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MD5_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MDL_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MD2_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_PLY_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_ASE_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_OBJ_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_HMP_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_SMD_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MDC_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MD5_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_STL_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_LWO_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_DXF_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_NFF_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_RAW_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_SIB_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_OFF_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_AC_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_BVH_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_IRRMESH_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_IRR_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_Q3D_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_B3D_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_COLLADA_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_TERRAGEN_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_CSM_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_3D_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_LWS_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_OGRE_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_OPENGEX_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_MS3D_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_COB_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_BLEND_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_Q3BSP_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_NDO_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_STEP_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_IFC_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_XGL_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_ASSBIN_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_GLTF_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_C4D_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_3MF_IMPORTER'])
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_NO_X3D_IMPORTER'])
|
|
|
|
env_assimp.Append(CPPFLAGS=['-DASSIMP_BUILD_SINGLETHREADED'])
|
|
|
|
if (not env.msvc):
|
|
env_assimp.Append(CXXFLAGS=['-std=c++11'])
|
|
elif (env.msvc == False and env['platform'] == 'windows'):
|
|
env_assimp.Append(LDFLAGS=['-pthread'])
|
|
|
|
if(env['platform'] == 'windows'):
|
|
env_assimp.Append(CPPFLAGS=['-DPLATFORM_WINDOWS'])
|
|
env_assimp.Append(CPPFLAGS=['-DPLATFORM=WINDOWS'])
|
|
elif(env['platform'] == 'x11'):
|
|
env_assimp.Append(CPPFLAGS=['-DPLATFORM_LINUX'])
|
|
env_assimp.Append(CPPFLAGS=['-DPLATFORM=LINUX'])
|
|
elif(env['platform'] == 'osx'):
|
|
env_assimp.Append(CPPFLAGS=['-DPLATFORM_DARWIN'])
|
|
env_assimp.Append(CPPFLAGS=['-DPLATFORM=DARWIN'])
|
|
|
|
env_thirdparty = env_assimp.Clone()
|
|
env_thirdparty.disable_warnings()
|
|
env_thirdparty.add_source_files(env.modules_sources, Glob('#thirdparty/assimp/code/*.cpp'))
|
|
|
|
# Godot's own source files
|
|
env_assimp.add_source_files(env.modules_sources, "*.cpp")
|