From d74a1149b7480ba73ae5df92c772f6e1cf31b568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaakko=20Kera=CC=88nen?= Date: Tue, 18 Aug 2015 11:36:32 +0300 Subject: [PATCH 01/24] MD5: Fix quaternion conversions Some of the quaternions loaded from MD5 files were not converted to follow Assimp conventions. https://github.com/assimp/assimp/issues/495 --- code/MD5Loader.cpp | 6 ------ code/MD5Parser.h | 3 +++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/code/MD5Loader.cpp b/code/MD5Loader.cpp index 6628aa346..6f0780e6d 100644 --- a/code/MD5Loader.cpp +++ b/code/MD5Loader.cpp @@ -285,9 +285,6 @@ void MD5Importer::AttachChilds_Mesh(int iParentID,aiNode* piParent, BoneList& bo aiQuaternion quat; MD5::ConvertQuaternion ( bones[i].mRotationQuat, quat ); - // FIX to get to Assimp's quaternion conventions - quat.w *= -1.f; - bones[i].mTransform = aiMatrix4x4 ( quat.GetMatrix()); bones[i].mTransform.a4 = bones[i].mPositionXYZ.x; bones[i].mTransform.b4 = bones[i].mPositionXYZ.y; @@ -656,9 +653,6 @@ void MD5Importer::LoadMD5AnimFile () MD5::ConvertQuaternion(vTemp, qKey->mValue); qKey->mTime = vKey->mTime = dTime; - - // we need this to get to Assimp quaternion conventions - qKey->mValue.w *= -1.f; } } diff --git a/code/MD5Parser.h b/code/MD5Parser.h index fd13961e2..e08d6d8b4 100644 --- a/code/MD5Parser.h +++ b/code/MD5Parser.h @@ -262,6 +262,9 @@ inline void ConvertQuaternion (const aiVector3D& in, aiQuaternion& out) { if (t < 0.0f) out.w = 0.0f; else out.w = std::sqrt (t); + + // Assimp convention. + out.w *= -1.f; } // --------------------------------------------------------------------------- From fff2c4141e33ab3edf4d7b7ba31c68f12c91c1c4 Mon Sep 17 00:00:00 2001 From: abma Date: Wed, 2 Sep 2015 09:56:58 +0200 Subject: [PATCH 02/24] fix #634 --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a1a13ef6f..166791a04 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,7 +63,9 @@ if( CMAKE_COMPILER_IS_MINGW ) endif() if((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND NOT CMAKE_COMPILER_IS_MINGW) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") # this is a very important switch and some libraries seem now to have it.... + if (BUILD_SHARED_LIBS AND CMAKE_SIZEOF_VOID_P EQUAL 8) # -fPIC is only required for shared libs on 64 bit + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") + endif() # hide all not-exported symbols set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall" ) elseif(MSVC) From d49e47c25cca464a3fe088d351f76cd006e09f24 Mon Sep 17 00:00:00 2001 From: abma Date: Wed, 2 Sep 2015 10:04:28 +0200 Subject: [PATCH 03/24] fix #431 --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 166791a04..3f68db817 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,6 +27,7 @@ execute_process( WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE GIT_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET ) # Get the latest abbreviated commit hash of the working branch @@ -35,6 +36,7 @@ execute_process( WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE GIT_COMMIT_HASH OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET ) if(NOT GIT_COMMIT_HASH) From ba37e362e8e2d584b68c1374b10318a16d8f37af Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Fri, 4 Sep 2015 17:10:51 +0200 Subject: [PATCH 04/24] Sample: fix https://github.com/assimp/assimp/issues/113, remove deprecated makefile. --- samples/SimpleOpenGL/makefile | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 samples/SimpleOpenGL/makefile diff --git a/samples/SimpleOpenGL/makefile b/samples/SimpleOpenGL/makefile deleted file mode 100644 index d8c7425e4..000000000 --- a/samples/SimpleOpenGL/makefile +++ /dev/null @@ -1,28 +0,0 @@ - -# --------------------------------------------------------------------------- -# Makefile for assimp/Sample_SimpleOpenGL -# aramis_acg@users.sourceforge.net -# -# Usage: make - -# TARGETS: -# all Build the sample + assimp itself -# clean Cleanup all object files -# --------------------------------------------------------------------------- - -VPATH = ./usr/include/ -# Include flags for gcc -INCLUDEFLAGS = -I../../include - -# Library flags for gcc -LIBFLAGS = -L../../bin/gcc - -# Output name of executable -OUTPUT = samplegl - -all: $(OBJECTS) - cd ../../code/ && $(MAKE) static - gcc -o $(OUTPUT) $(INCLUDEFLAGS) -s Sample_SimpleOpenGL.c $(LIBFLAGS) -Wl,-Bstatic -lassimp -Wl,-Bdynamic -lstdc++ -lglut -.PHONY: clean -clean: - -rm *.o From e159728307f17888b8b3ab4f23cf2143562c1c10 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 15 Sep 2015 08:55:40 +0200 Subject: [PATCH 05/24] Update Readme.md Update contect info: now add an irc channel on freenode --- Readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Readme.md b/Readme.md index bc94885b3..ed1911a78 100644 --- a/Readme.md +++ b/Readme.md @@ -113,6 +113,7 @@ If the docs don't solve your problem, ask on [StackOverflow](http://stackoverflo For development discussions, there is also a (very low-volume) mailing list, _assimp-discussions_ [(subscribe here)]( https://lists.sourceforge.net/lists/listinfo/assimp-discussions) +And we also have an IRC-channel at freenode: #assetimporterlib . ### Contributing ### Contributions to assimp are highly appreciated. The easiest way to get involved is to submit From 367c9980b2781ec13e8a058541e724856ec36e49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5vard=20Mathisen?= Date: Sun, 20 Sep 2015 17:15:01 +0200 Subject: [PATCH 06/24] Add Boost 1.59 --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f68db817..cbb7bd641 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,7 +123,9 @@ IF ( ASSIMP_ENABLE_BOOST_WORKAROUND ) MESSAGE( STATUS "Building a non-boost version of Assimp." ) ELSE ( ASSIMP_ENABLE_BOOST_WORKAROUND ) SET( Boost_DETAILED_FAILURE_MSG ON ) - SET( Boost_ADDITIONAL_VERSIONS "1.47" "1.47.0" "1.48.0" "1.48" "1.49" "1.49.0" "1.50" "1.50.0" "1.51" "1.51.0" "1.52.0" "1.53.0" "1.54.0" "1.55" "1.55.0" "1.56" "1.56.0" "1.57" "1.57.0" "1.58" "1.58.0" ) + IF ( NOT Boost_ADDITIONAL_VERSIONS ) + SET( Boost_ADDITIONAL_VERSIONS "1.47" "1.47.0" "1.48.0" "1.48" "1.49" "1.49.0" "1.50" "1.50.0" "1.51" "1.51.0" "1.52.0" "1.53.0" "1.54.0" "1.55" "1.55.0" "1.56" "1.56.0" "1.57" "1.57.0" "1.58" "1.58.0" "1.59" "1.59.0") + ENDIF ( NOT Boost_ADDITIONAL_VERSIONS ) FIND_PACKAGE( Boost ) IF ( NOT Boost_FOUND ) MESSAGE( FATAL_ERROR From f2c2bc6945b787b3bc8105a3173c0504a91ee185 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Mon, 21 Sep 2015 17:31:27 +0200 Subject: [PATCH 07/24] CMake: add windows 8.1 search path for DirectX SDK, closes assimp/assimp/issues/631 --- cmake-modules/FindDirectX.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake-modules/FindDirectX.cmake b/cmake-modules/FindDirectX.cmake index 38a861a83..707043142 100644 --- a/cmake-modules/FindDirectX.cmake +++ b/cmake-modules/FindDirectX.cmake @@ -35,6 +35,7 @@ if(WIN32) # The only platform it makes sense to check for DirectX SDK "C:/Program Files (x86)/Microsoft DirectX SDK*" "C:/apps/Microsoft DirectX SDK*" "C:/Program Files/Microsoft DirectX SDK*" + "C:/Program Files (x86)/Windows Kits/8.1" "$ENV{ProgramFiles}/Microsoft DirectX SDK*" ) create_search_paths(DirectX) From ca6296f60999d113be01a35cf9812cae49725860 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Mon, 21 Sep 2015 17:33:41 +0200 Subject: [PATCH 08/24] STLLoader: mak functions local. --- code/STLLoader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/STLLoader.cpp b/code/STLLoader.cpp index ad445efdb..4dc69b4bd 100644 --- a/code/STLLoader.cpp +++ b/code/STLLoader.cpp @@ -74,7 +74,7 @@ static const aiImporterDesc desc = { // 1) 80 byte header // 2) 4 byte face count // 3) 50 bytes per face -bool IsBinarySTL(const char* buffer, unsigned int fileSize) { +static bool IsBinarySTL(const char* buffer, unsigned int fileSize) { if( fileSize < 84 ) { return false; } @@ -88,7 +88,7 @@ bool IsBinarySTL(const char* buffer, unsigned int fileSize) { // An ascii STL buffer will begin with "solid NAME", where NAME is optional. // Note: The "solid NAME" check is necessary, but not sufficient, to determine // if the buffer is ASCII; a binary header could also begin with "solid NAME". -bool IsAsciiSTL(const char* buffer, unsigned int fileSize) { +static bool IsAsciiSTL(const char* buffer, unsigned int fileSize) { if (IsBinarySTL(buffer, fileSize)) return false; From 34ee4c4b9a1b862ad025e89e018ebfc763ef950c Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Mon, 21 Sep 2015 20:43:58 +0200 Subject: [PATCH 09/24] DefaultIOSystem close assimp/assimp/issues/108 : use correct macro to detect vs-compiler. --- code/DefaultIOSystem.cpp | 17 ++++++++++------- code/DefaultIOSystem.h | 6 +++--- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/code/DefaultIOSystem.cpp b/code/DefaultIOSystem.cpp index 32ea03b71..b3f8dc093 100644 --- a/code/DefaultIOSystem.cpp +++ b/code/DefaultIOSystem.cpp @@ -135,8 +135,8 @@ inline void MakeAbsolutePath (const char* in, char* _out) { ai_assert(in && _out); char* ret; -#ifdef _WIN32 - ret = ::_fullpath(_out, in,PATHLIMIT); +#if defined _WIN32 && !defined __GNUC__ + ret = ::_fullpath( _out, in, PATHLIMIT ); #else // use realpath ret = realpath(in, _out); @@ -167,8 +167,8 @@ bool DefaultIOSystem::ComparePaths (const char* one, const char* second) const return !ASSIMP_stricmp(temp1,temp2); } - -std::string DefaultIOSystem::fileName(std::string path) +// ------------------------------------------------------------------------------------------------ +std::string DefaultIOSystem::fileName( const std::string &path ) { std::string ret = path; std::size_t last = ret.find_last_of("\\/"); @@ -177,7 +177,8 @@ std::string DefaultIOSystem::fileName(std::string path) } -std::string DefaultIOSystem::completeBaseName(std::string path) +// ------------------------------------------------------------------------------------------------ +std::string DefaultIOSystem::completeBaseName( const std::string &path ) { std::string ret = fileName(path); std::size_t pos = ret.find_last_of('.'); @@ -185,8 +186,8 @@ std::string DefaultIOSystem::completeBaseName(std::string path) return ret; } - -std::string DefaultIOSystem::absolutePath(std::string path) +// ------------------------------------------------------------------------------------------------ +std::string DefaultIOSystem::absolutePath( const std::string &path ) { std::string ret = path; std::size_t last = ret.find_last_of("\\/"); @@ -194,4 +195,6 @@ std::string DefaultIOSystem::absolutePath(std::string path) return ret; } +// ------------------------------------------------------------------------------------------------ + #undef PATHLIMIT diff --git a/code/DefaultIOSystem.h b/code/DefaultIOSystem.h index b46169f79..cc2118fb9 100644 --- a/code/DefaultIOSystem.h +++ b/code/DefaultIOSystem.h @@ -80,17 +80,17 @@ public: /** @brief get the file name of a full filepath * example: /tmp/archive.tar.gz -> archive.tar.gz */ - static std::string fileName(std::string path); + static std::string fileName( const std::string &path ); /** @brief get the complete base name of a full filepath * example: /tmp/archive.tar.gz -> archive.tar */ - static std::string completeBaseName(std::string path); + static std::string completeBaseName( const std::string &path); /** @brief get the path of a full filepath * example: /tmp/archive.tar.gz -> /tmp/ */ - static std::string absolutePath(std::string path); + static std::string absolutePath( const std::string &path); }; } //!ns Assimp From ef6baa0acfad057d49b10dc98d9dcaff626c69a7 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 22 Sep 2015 00:23:33 +0200 Subject: [PATCH 10/24] DefaultIOSystem: use correct define to detect Visual Studi compiler. --- code/DefaultIOSystem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/DefaultIOSystem.cpp b/code/DefaultIOSystem.cpp index b3f8dc093..d4f120c3b 100644 --- a/code/DefaultIOSystem.cpp +++ b/code/DefaultIOSystem.cpp @@ -135,7 +135,7 @@ inline void MakeAbsolutePath (const char* in, char* _out) { ai_assert(in && _out); char* ret; -#if defined _WIN32 && !defined __GNUC__ +#ifdef _MSC_VER ret = ::_fullpath( _out, in, PATHLIMIT ); #else // use realpath From 3fc251b326249c6ed51ea65b6d259c45a3e1f06b Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Thu, 24 Sep 2015 00:57:47 +0200 Subject: [PATCH 11/24] BaseImporter: fix typo and rename attributes for better readability. --- code/BaseImporter.cpp | 10 +++++----- code/BaseImporter.h | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/BaseImporter.cpp b/code/BaseImporter.cpp index 3c8d9e39b..071411642 100644 --- a/code/BaseImporter.cpp +++ b/code/BaseImporter.cpp @@ -63,7 +63,7 @@ using namespace Assimp; // ------------------------------------------------------------------------------------------------ // Constructor to be privately used by Importer BaseImporter::BaseImporter() -: progress() +: m_progress() { // nothing to do here } @@ -79,8 +79,8 @@ BaseImporter::~BaseImporter() // Imports the given file and returns the imported data. aiScene* BaseImporter::ReadFile(const Importer* pImp, const std::string& pFile, IOSystem* pIOHandler) { - progress = pImp->GetProgressHandler(); - ai_assert(progress); + m_progress = pImp->GetProgressHandler(); + ai_assert(m_progress); // Gather configuration properties for this run SetupProperties( pImp ); @@ -98,8 +98,8 @@ aiScene* BaseImporter::ReadFile(const Importer* pImp, const std::string& pFile, } catch( const std::exception& err ) { // extract error description - mErrorText = err.what(); - DefaultLogger::get()->error(mErrorText); + m_ErrorText = err.what(); + DefaultLogger::get()->error(m_ErrorText); return NULL; } diff --git a/code/BaseImporter.h b/code/BaseImporter.h index 2234d7116..e8ed7460d 100644 --- a/code/BaseImporter.h +++ b/code/BaseImporter.h @@ -181,7 +181,7 @@ public: * string if there was no error. */ const std::string& GetErrorText() const { - return mErrorText; + return m_ErrorText; } // ------------------------------------------------------------------- @@ -362,10 +362,10 @@ public: // static utilities protected: /** Error description in case there was one. */ - std::string mErrorText; + std::string m_ErrorText; /** Currently set progress handler */ - ProgressHandler* progress; + ProgressHandler* m_progress; }; From d06945f17e616b2fa633aa85c02ff03c0c01e14a Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Thu, 24 Sep 2015 23:51:04 +0200 Subject: [PATCH 12/24] DefaultIOSystem: fix issue assimp/assimp/issues/660 by checking for _WIN32 as well. --- code/DefaultIOSystem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/DefaultIOSystem.cpp b/code/DefaultIOSystem.cpp index d4f120c3b..1251b6c2c 100644 --- a/code/DefaultIOSystem.cpp +++ b/code/DefaultIOSystem.cpp @@ -135,7 +135,7 @@ inline void MakeAbsolutePath (const char* in, char* _out) { ai_assert(in && _out); char* ret; -#ifdef _MSC_VER +#if defined _WIN32 && defined _MSC_VER ret = ::_fullpath( _out, in, PATHLIMIT ); #else // use realpath From f5c8f7b5e504f37710a04beb58b0b67e5f0e7452 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Sun, 27 Sep 2015 01:02:12 +0200 Subject: [PATCH 13/24] DefaultIOSystem: close cygwin issue assimp/assimp/issues/660. --- code/DefaultIOSystem.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/DefaultIOSystem.cpp b/code/DefaultIOSystem.cpp index 1251b6c2c..1e7aaf8b9 100644 --- a/code/DefaultIOSystem.cpp +++ b/code/DefaultIOSystem.cpp @@ -135,11 +135,11 @@ inline void MakeAbsolutePath (const char* in, char* _out) { ai_assert(in && _out); char* ret; -#if defined _WIN32 && defined _MSC_VER - ret = ::_fullpath( _out, in, PATHLIMIT ); +if defined( _MSC_VER ) || defined( __MINGW32__ ) + ret = ::_fullpath( _out, in, PATHLIMIT ); #else - // use realpath - ret = realpath(in, _out); + // use realpath + ret = realpath(in, _out); #endif if(!ret) { // preserve the input path, maybe someone else is able to fix From 1fbc0cc2767eb96ce2765b4d260db4a910cbc803 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Sun, 27 Sep 2015 10:51:33 +0200 Subject: [PATCH 14/24] DefaultIOSystem: fix typo in macro. --- code/BaseImporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/BaseImporter.cpp b/code/BaseImporter.cpp index 071411642..303c06779 100644 --- a/code/BaseImporter.cpp +++ b/code/BaseImporter.cpp @@ -274,7 +274,7 @@ void BaseImporter::GetExtensionList(std::set& extensions) for (unsigned int i = 0; i < num; ++i) { // also check against big endian versions of tokens with size 2,4 - // that's just for convinience, the chance that we cause conflicts + // that's just for convenience, the chance that we cause conflicts // is quite low and it can save some lines and prevent nasty bugs if (2 == size) { uint16_t rev = *magic_u16; From 7ed32fd5a9bdefb23fb281ec98dce3383383e51a Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Sun, 27 Sep 2015 20:49:15 +0200 Subject: [PATCH 15/24] fix typo. --- code/DefaultIOSystem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/DefaultIOSystem.cpp b/code/DefaultIOSystem.cpp index 1e7aaf8b9..89d40e2a5 100644 --- a/code/DefaultIOSystem.cpp +++ b/code/DefaultIOSystem.cpp @@ -135,7 +135,7 @@ inline void MakeAbsolutePath (const char* in, char* _out) { ai_assert(in && _out); char* ret; -if defined( _MSC_VER ) || defined( __MINGW32__ ) +#if defined( _MSC_VER ) || defined( __MINGW32__ ) ret = ::_fullpath( _out, in, PATHLIMIT ); #else // use realpath From 2e725c0dc525072ba5b8625a79779401022f785b Mon Sep 17 00:00:00 2001 From: Tcll Date: Mon, 28 Sep 2015 14:15:06 -0400 Subject: [PATCH 16/24] Added auto-detection of numpy If numpy is not installed, pyassimp returns lists to allow the user to manage the data type. --- port/PyAssimp/pyassimp/core.py | 67 +++++++++++++++++++++++++++------- 1 file changed, 54 insertions(+), 13 deletions(-) diff --git a/port/PyAssimp/pyassimp/core.py b/port/PyAssimp/pyassimp/core.py index 29550eb35..f035b35e5 100644 --- a/port/PyAssimp/pyassimp/core.py +++ b/port/PyAssimp/pyassimp/core.py @@ -10,7 +10,9 @@ if sys.version_info < (2,6): import ctypes import os -import numpy + +try: import numpy +except: numpy = None import logging logger = logging.getLogger("pyassimp") @@ -33,12 +35,30 @@ _assimp_lib = AssimpLib() def make_tuple(ai_obj, type = None): res = None + + #notes: + # ai_obj._fields_ = [ ("attr", c_type), ... ] + # getattr(ai_obj, e[0]).__class__ == float + if isinstance(ai_obj, structs.Matrix4x4): - res = numpy.array([getattr(ai_obj, e[0]) for e in ai_obj._fields_]).reshape((4,4)) + if numpy: + res = numpy.array([getattr(ai_obj, e[0]) for e in ai_obj._fields_]).reshape((4,4)) + #import pdb;pdb.set_trace() + else: + res = [getattr(ai_obj, e[0]) for e in ai_obj._fields_] + res = [res[i:i+4] for i in xrange(0,16,4)] elif isinstance(ai_obj, structs.Matrix3x3): - res = numpy.array([getattr(ai_obj, e[0]) for e in ai_obj._fields_]).reshape((3,3)) + if numpy: + res = numpy.array([getattr(ai_obj, e[0]) for e in ai_obj._fields_]).reshape((3,3)) + else: + res = [getattr(ai_obj, e[0]) for e in ai_obj._fields_] + res = [res[i:i+3] for i in xrange(0,9,3)] else: - res = numpy.array([getattr(ai_obj, e[0]) for e in ai_obj._fields_]) + if numpy: + res = numpy.array([getattr(ai_obj, e[0]) for e in ai_obj._fields_]) + else: + res = [getattr(ai_obj, e[0]) for e in ai_obj._fields_] + return res # It is faster and more correct to have an init function for each assimp class @@ -135,9 +155,14 @@ def _init(self, target = None, parent = None): try: if obj._type_ in structs.assimp_structs_as_tuple: - setattr(target, name, numpy.array([make_tuple(obj[i]) for i in range(length)], dtype=numpy.float32)) + if numpy: + setattr(target, name, numpy.array([make_tuple(obj[i]) for i in range(length)], dtype=numpy.float32)) - logger.debug(str(self) + ": Added an array of numpy arrays (type "+ str(type(obj)) + ") as self." + name) + logger.debug(str(self) + ": Added an array of numpy arrays (type "+ str(type(obj)) + ") as self." + name) + else: + setattr(target, name, [make_tuple(obj[i]) for i in range(length)]) + + logger.debug(str(self) + ": Added a list of lists (type "+ str(type(obj)) + ") as self." + name) else: setattr(target, name, [obj[i] for i in range(length)]) #TODO: maybe not necessary to recreate an array? @@ -292,7 +317,10 @@ def release(scene): def _finalize_texture(tex, target): setattr(target, "achformathint", tex.achFormatHint) - data = numpy.array([make_tuple(getattr(tex, "pcData")[i]) for i in range(tex.mWidth * tex.mHeight)]) + if numpy: + data = numpy.array([make_tuple(getattr(tex, "pcData")[i]) for i in range(tex.mWidth * tex.mHeight)]) + else: + data = [make_tuple(getattr(tex, "pcData")[i]) for i in range(tex.mWidth * tex.mHeight)] setattr(target, "data", data) def _finalize_mesh(mesh, target): @@ -308,11 +336,18 @@ def _finalize_mesh(mesh, target): def fill(name): mAttr = getattr(mesh, name) - if mAttr: - data = numpy.array([make_tuple(getattr(mesh, name)[i]) for i in range(nb_vertices)], dtype=numpy.float32) - setattr(target, name[1:].lower(), data) + if numpy: + if mAttr: + data = numpy.array([make_tuple(getattr(mesh, name)[i]) for i in range(nb_vertices)], dtype=numpy.float32) + setattr(target, name[1:].lower(), data) + else: + setattr(target, name[1:].lower(), numpy.array([], dtype="float32")) else: - setattr(target, name[1:].lower(), numpy.array([], dtype="float32")) + if mAttr: + data = [make_tuple(getattr(mesh, name)[i]) for i in range(nb_vertices)] + setattr(target, name[1:].lower(), data) + else: + setattr(target, name[1:].lower(), []) def fillarray(name): mAttr = getattr(mesh, name) @@ -322,7 +357,10 @@ def _finalize_mesh(mesh, target): if mSubAttr: data.append([make_tuple(getattr(mesh, name)[index][i]) for i in range(nb_vertices)]) - setattr(target, name[1:].lower(), numpy.array(data, dtype=numpy.float32)) + if numpy: + setattr(target, name[1:].lower(), numpy.array(data, dtype=numpy.float32)) + else: + setattr(target, name[1:].lower(), data) fill("mNormals") fill("mTangents") @@ -332,7 +370,10 @@ def _finalize_mesh(mesh, target): fillarray("mTextureCoords") # prepare faces - faces = numpy.array([f.indices for f in target.faces], dtype=numpy.int32) + if numpy: + faces = numpy.array([f.indices for f in target.faces], dtype=numpy.int32) + else: + faces = [f.indices for f in target.faces] setattr(target, 'faces', faces) From 5ce968c67f2153435b781cf5704e2f63201f9b11 Mon Sep 17 00:00:00 2001 From: Tcll Date: Mon, 28 Sep 2015 14:18:22 -0400 Subject: [PATCH 17/24] Added auto-detection of numpy --- port/PyAssimp/pyassimp/helper.py | 85 +++++++++++++++++++++++++++++--- 1 file changed, 77 insertions(+), 8 deletions(-) diff --git a/port/PyAssimp/pyassimp/helper.py b/port/PyAssimp/pyassimp/helper.py index ccfd8d2b5..249a0f2ab 100644 --- a/port/PyAssimp/pyassimp/helper.py +++ b/port/PyAssimp/pyassimp/helper.py @@ -8,8 +8,9 @@ import os import ctypes from ctypes import POINTER import operator -import numpy -from numpy import linalg + +try: import numpy +except: numpy = None import logging;logger = logging.getLogger("pyassimp") @@ -45,20 +46,88 @@ def vec2tuple(x): def transform(vector3, matrix4x4): """ Apply a transformation matrix on a 3D vector. - :param vector3: a numpy array with 3 elements - :param matrix4x4: a numpy 4x4 matrix + :param vector3: array with 3 elements + :param matrix4x4: 4x4 matrix """ - return numpy.dot(matrix4x4, numpy.append(vector3, 1.)) - + if numpy: + return numpy.dot(matrix4x4, numpy.append(vector3, 1.)) + else: + m0,m1,m2,m3 = matrix4x4; x,y,z = vector3 + return [ + m0[0]*x + m0[1]*y + m0[2]*z + m0[3], + m1[0]*x + m1[1]*y + m1[2]*z + m1[3], + m2[0]*x + m2[1]*y + m2[2]*z + m2[3], + m3[0]*x + m3[1]*y + m3[2]*z + m3[3] + ] + +def _inv(matrix4x4): + m0,m1,m2,m3 = matrix4x4 + + det = m0[3]*m1[2]*m2[1]*m3[0] - m0[2]*m1[3]*m2[1]*m3[0] - \ + m0[3]*m1[1]*m2[2]*m3[0] + m0[1]*m1[3]*m2[2]*m3[0] + \ + m0[2]*m1[1]*m2[3]*m3[0] - m0[1]*m1[2]*m2[3]*m3[0] - \ + m0[3]*m1[2]*m2[0]*m3[1] + m0[2]*m1[3]*m2[0]*m3[1] + \ + m0[3]*m1[0]*m2[2]*m3[1] - m0[0]*m1[3]*m2[2]*m3[1] - \ + m0[2]*m1[0]*m2[3]*m3[1] + m0[0]*m1[2]*m2[3]*m3[1] + \ + m0[3]*m1[1]*m2[0]*m3[2] - m0[1]*m1[3]*m2[0]*m3[2] - \ + m0[3]*m1[0]*m2[1]*m3[2] + m0[0]*m1[3]*m2[1]*m3[2] + \ + m0[1]*m1[0]*m2[3]*m3[2] - m0[0]*m1[1]*m2[3]*m3[2] - \ + m0[2]*m1[1]*m2[0]*m3[3] + m0[1]*m1[2]*m2[0]*m3[3] + \ + m0[2]*m1[0]*m2[1]*m3[3] - m0[0]*m1[2]*m2[1]*m3[3] - \ + m0[1]*m1[0]*m2[2]*m3[3] + m0[0]*m1[1]*m2[2]*m3[3] + + return[[( m1[2]*m2[3]*m3[1] - m1[3]*m2[2]*m3[1] + m1[3]*m2[1]*m3[2] - m1[1]*m2[3]*m3[2] - m1[2]*m2[1]*m3[3] + m1[1]*m2[2]*m3[3]) /det, + ( m0[3]*m2[2]*m3[1] - m0[2]*m2[3]*m3[1] - m0[3]*m2[1]*m3[2] + m0[1]*m2[3]*m3[2] + m0[2]*m2[1]*m3[3] - m0[1]*m2[2]*m3[3]) /det, + ( m0[2]*m1[3]*m3[1] - m0[3]*m1[2]*m3[1] + m0[3]*m1[1]*m3[2] - m0[1]*m1[3]*m3[2] - m0[2]*m1[1]*m3[3] + m0[1]*m1[2]*m3[3]) /det, + ( m0[3]*m1[2]*m2[1] - m0[2]*m1[3]*m2[1] - m0[3]*m1[1]*m2[2] + m0[1]*m1[3]*m2[2] + m0[2]*m1[1]*m2[3] - m0[1]*m1[2]*m2[3]) /det], + [( m1[3]*m2[2]*m3[0] - m1[2]*m2[3]*m3[0] - m1[3]*m2[0]*m3[2] + m1[0]*m2[3]*m3[2] + m1[2]*m2[0]*m3[3] - m1[0]*m2[2]*m3[3]) /det, + ( m0[2]*m2[3]*m3[0] - m0[3]*m2[2]*m3[0] + m0[3]*m2[0]*m3[2] - m0[0]*m2[3]*m3[2] - m0[2]*m2[0]*m3[3] + m0[0]*m2[2]*m3[3]) /det, + ( m0[3]*m1[2]*m3[0] - m0[2]*m1[3]*m3[0] - m0[3]*m1[0]*m3[2] + m0[0]*m1[3]*m3[2] + m0[2]*m1[0]*m3[3] - m0[0]*m1[2]*m3[3]) /det, + ( m0[2]*m1[3]*m2[0] - m0[3]*m1[2]*m2[0] + m0[3]*m1[0]*m2[2] - m0[0]*m1[3]*m2[2] - m0[2]*m1[0]*m2[3] + m0[0]*m1[2]*m2[3]) /det], + [( m1[1]*m2[3]*m3[0] - m1[3]*m2[1]*m3[0] + m1[3]*m2[0]*m3[1] - m1[0]*m2[3]*m3[1] - m1[1]*m2[0]*m3[3] + m1[0]*m2[1]*m3[3]) /det, + ( m0[3]*m2[1]*m3[0] - m0[1]*m2[3]*m3[0] - m0[3]*m2[0]*m3[1] + m0[0]*m2[3]*m3[1] + m0[1]*m2[0]*m3[3] - m0[0]*m2[1]*m3[3]) /det, + ( m0[1]*m1[3]*m3[0] - m0[3]*m1[1]*m3[0] + m0[3]*m1[0]*m3[1] - m0[0]*m1[3]*m3[1] - m0[1]*m1[0]*m3[3] + m0[0]*m1[1]*m3[3]) /det, + ( m0[3]*m1[1]*m2[0] - m0[1]*m1[3]*m2[0] - m0[3]*m1[0]*m2[1] + m0[0]*m1[3]*m2[1] + m0[1]*m1[0]*m2[3] - m0[0]*m1[1]*m2[3]) /det], + [( m1[2]*m2[1]*m3[0] - m1[1]*m2[2]*m3[0] - m1[2]*m2[0]*m3[1] + m1[0]*m2[2]*m3[1] + m1[1]*m2[0]*m3[2] - m1[0]*m2[1]*m3[2]) /det, + ( m0[1]*m2[2]*m3[0] - m0[2]*m2[1]*m3[0] + m0[2]*m2[0]*m3[1] - m0[0]*m2[2]*m3[1] - m0[1]*m2[0]*m3[2] + m0[0]*m2[1]*m3[2]) /det, + ( m0[2]*m1[1]*m3[0] - m0[1]*m1[2]*m3[0] - m0[2]*m1[0]*m3[1] + m0[0]*m1[2]*m3[1] + m0[1]*m1[0]*m3[2] - m0[0]*m1[1]*m3[2]) /det, + ( m0[1]*m1[2]*m2[0] - m0[2]*m1[1]*m2[0] + m0[2]*m1[0]*m2[1] - m0[0]*m1[2]*m2[1] - m0[1]*m1[0]*m2[2] + m0[0]*m1[1]*m2[2]) /det]] def get_bounding_box(scene): bb_min = [1e10, 1e10, 1e10] # x,y,z bb_max = [-1e10, -1e10, -1e10] # x,y,z - return get_bounding_box_for_node(scene.rootnode, bb_min, bb_max, linalg.inv(scene.rootnode.transformation)) + inv = numpy.linalg.inv if numpy else _inv + return get_bounding_box_for_node(scene.rootnode, bb_min, bb_max, inv(scene.rootnode.transformation)) def get_bounding_box_for_node(node, bb_min, bb_max, transformation): - transformation = numpy.dot(transformation, node.transformation) + if numpy: + transformation = numpy.dot(transformation, node.transformation) + else: + t0,t1,t2,t3 = transformation + T0,T1,T2,T3 = node.transformation + transformation = [ [ + t0[0]*T0[0] + t0[1]*T1[0] + t0[2]*T2[0] + t0[3]*T3[0], + t0[0]*T0[1] + t0[1]*T1[1] + t0[2]*T2[1] + t0[3]*T3[1], + t0[0]*T0[2] + t0[1]*T1[2] + t0[2]*T2[2] + t0[3]*T3[2], + t0[0]*T0[3] + t0[1]*T1[3] + t0[2]*T2[3] + t0[3]*T3[3] + ],[ + t1[0]*T0[0] + t1[1]*T1[0] + t1[2]*T2[0] + t1[3]*T3[0], + t1[0]*T0[1] + t1[1]*T1[1] + t1[2]*T2[1] + t1[3]*T3[1], + t1[0]*T0[2] + t1[1]*T1[2] + t1[2]*T2[2] + t1[3]*T3[2], + t1[0]*T0[3] + t1[1]*T1[3] + t1[2]*T2[3] + t1[3]*T3[3] + ],[ + t2[0]*T0[0] + t2[1]*T1[0] + t2[2]*T2[0] + t2[3]*T3[0], + t2[0]*T0[1] + t2[1]*T1[1] + t2[2]*T2[1] + t2[3]*T3[1], + t2[0]*T0[2] + t2[1]*T1[2] + t2[2]*T2[2] + t2[3]*T3[2], + t2[0]*T0[3] + t2[1]*T1[3] + t2[2]*T2[3] + t2[3]*T3[3] + ],[ + t3[0]*T0[0] + t3[1]*T1[0] + t3[2]*T2[0] + t3[3]*T3[0], + t3[0]*T0[1] + t3[1]*T1[1] + t3[2]*T2[1] + t3[3]*T3[1], + t3[0]*T0[2] + t3[1]*T1[2] + t3[2]*T2[2] + t3[3]*T3[2], + t3[0]*T0[3] + t3[1]*T1[3] + t3[2]*T2[3] + t3[3]*T3[3] + ] ] + for mesh in node.meshes: for v in mesh.vertices: v = transform(v, transformation) From 6f0bc9bcb29fa0c9f23e89e2619ba380d2ff18bb Mon Sep 17 00:00:00 2001 From: Lectem Date: Wed, 30 Sep 2015 09:16:18 -0400 Subject: [PATCH 18/24] remove memory.h dependancy Some embedded (or exotic) systems won't provide this header, and it seems to be unused (since memcpy is in string.h). Tested on MinGW and VS2015. --- include/assimp/types.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/assimp/types.h b/include/assimp/types.h index 8e784cfe8..82be2d62f 100644 --- a/include/assimp/types.h +++ b/include/assimp/types.h @@ -47,7 +47,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // Some runtime headers #include -#include #include #include #include From b5be5a64f701fcc35bad8ac25f79371a34258176 Mon Sep 17 00:00:00 2001 From: Alexander Gessler Date: Tue, 6 Oct 2015 17:51:23 +0200 Subject: [PATCH 19/24] Let appveyor decide on OS version, hopefully fixes appveyor failure. --- appveyor.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 6e5c146a1..8c3264cbf 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,9 +1,6 @@ # AppVeyor file # http://www.appveyor.com/docs/appveyor-yml -# Operating system (build VM template) -os: Previous Windows Server 2012 R2 # using previous worker images since default worker has problem installing DART-Prerequisites.msi - # clone directory clone_folder: c:\projects\assimp From 1a1fd897b6d3b40a0b2435a369aced165f59d8e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaakko=20Ker=C3=A4nen?= Date: Wed, 7 Oct 2015 17:02:48 +0300 Subject: [PATCH 20/24] Updated regression test database for MD5 files --- test/regression/db.zip | Bin 1475372 -> 1475266 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/regression/db.zip b/test/regression/db.zip index 3808ded597b5c3a59ca15644d79325fbee5f0b23..c94598840c94ccdbb7d8c4f67cd5d7c292c4a489 100644 GIT binary patch delta 139038 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]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%0AOzscUE1JR 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

knp;vs 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 z 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 z

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 Date: Sat, 10 Oct 2015 13:54:16 +0200 Subject: [PATCH 21/24] Dummy edit to trigger CI. --- Readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Readme.md b/Readme.md index ed1911a78..eb16dc0f4 100644 --- a/Readme.md +++ b/Readme.md @@ -126,4 +126,3 @@ Our license is based on the modified, __3-clause BSD__-License. An _informal_ summary is: do whatever you want, but include Assimp's license text with your product - and don't sue us if our code doesn't work. Note that, unlike LGPLed code, you may link statically to Assimp. For the legal details, see the `LICENSE` file. - From 62ec784cef7cedd3ec66d1e3d42d52a3c1f82f0a Mon Sep 17 00:00:00 2001 From: Sebastien Bonopera Date: Mon, 12 Oct 2015 20:08:25 +0200 Subject: [PATCH 22/24] Fixed issue in PlyParser (uint16 values misparsed) --- code/PlyParser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/PlyParser.cpp b/code/PlyParser.cpp index db4c2b5d4..8d6ce0698 100644 --- a/code/PlyParser.cpp +++ b/code/PlyParser.cpp @@ -857,7 +857,7 @@ bool PLY::PropertyInstance::ParseValueBinary( case EDT_UShort: { - int16_t i = *((uint16_t*)pCur); + uint16_t i = *((uint16_t*)pCur); // Swap endianess if (p_bBE)ByteSwap::Swap(&i); From 2750f8da2499f16ebe152056c6df479591b19684 Mon Sep 17 00:00:00 2001 From: Francesco Guastella Date: Thu, 15 Oct 2015 15:46:35 +0200 Subject: [PATCH 23/24] Added support for reflection maps for OBJ files --- code/ObjFileData.h | 8 ++++++ code/ObjFileImporter.cpp | 16 +++++++++++ code/ObjFileMtlImporter.cpp | 57 +++++++++++++++++++++++++++++++++---- code/ObjFileMtlImporter.h | 3 +- 4 files changed, 78 insertions(+), 6 deletions(-) diff --git a/code/ObjFileData.h b/code/ObjFileData.h index 2d5100ba8..9aa44576b 100644 --- a/code/ObjFileData.h +++ b/code/ObjFileData.h @@ -156,6 +156,7 @@ struct Material aiString textureEmissive; aiString textureBump; aiString textureNormal; + aiString textureReflection[6]; aiString textureSpecularity; aiString textureOpacity; aiString textureDisp; @@ -167,6 +168,13 @@ struct Material TextureEmissiveType, TextureBumpType, TextureNormalType, + TextureReflectionSphereType, + TextureReflectionCubeTopType, + TextureReflectionCubeBottomType, + TextureReflectionCubeFrontType, + TextureReflectionCubeBackType, + TextureReflectionCubeLeftType, + TextureReflectionCubeRightType, TextureSpecularityType, TextureOpacityType, TextureDispType, diff --git a/code/ObjFileImporter.cpp b/code/ObjFileImporter.cpp index 7bf6154df..ebf75b3c4 100644 --- a/code/ObjFileImporter.cpp +++ b/code/ObjFileImporter.cpp @@ -636,6 +636,22 @@ void ObjFileImporter::createMaterials(const ObjFile::Model* pModel, aiScene* pSc } } + if( 0 != pCurrentMaterial->textureReflection[0].length ) + { + ObjFile::Material::TextureType type = 0 != pCurrentMaterial->textureReflection[1].length ? + ObjFile::Material::TextureReflectionCubeTopType : + ObjFile::Material::TextureReflectionSphereType; + + unsigned count = type == ObjFile::Material::TextureReflectionSphereType ? 1 : 6; + for( unsigned i = 0; i < count; i++ ) + mat->AddProperty(&pCurrentMaterial->textureReflection[i], AI_MATKEY_TEXTURE_REFLECTION(i)); + + if(pCurrentMaterial->clamp[type]) + //TODO addTextureMappingModeProperty should accept an index to handle clamp option for each + //texture of a cubemap + addTextureMappingModeProperty(mat, aiTextureType_REFLECTION); + } + if ( 0 != pCurrentMaterial->textureDisp.length ) { mat->AddProperty( &pCurrentMaterial->textureDisp, AI_MATKEY_TEXTURE_DISPLACEMENT(0) ); diff --git a/code/ObjFileMtlImporter.cpp b/code/ObjFileMtlImporter.cpp index c993cd203..5b5160a44 100644 --- a/code/ObjFileMtlImporter.cpp +++ b/code/ObjFileMtlImporter.cpp @@ -64,6 +64,7 @@ static const std::string BumpTexture1 = "map_bump"; static const std::string BumpTexture2 = "map_Bump"; static const std::string BumpTexture3 = "bump"; static const std::string NormalTexture = "map_Kn"; +static const std::string ReflectionTexture = "refl"; static const std::string DisplacementTexture = "disp"; static const std::string SpecularityTexture = "map_ns"; @@ -200,6 +201,7 @@ void ObjFileMtlImporter::load() case 'm': // Texture case 'b': // quick'n'dirty - for 'bump' sections + case 'r': // quick'n'dirty - for 'refl' sections { getTexture(); m_DataIt = skipLine( m_DataIt, m_DataItEnd, m_uiLine ); @@ -332,6 +334,9 @@ void ObjFileMtlImporter::getTexture() { // Normal map out = & m_pModel->m_pCurrentMaterial->textureNormal; clampIndex = ObjFile::Material::TextureNormalType; + } else if(!ASSIMP_strincmp( pPtr, ReflectionTexture.c_str(), ReflectionTexture.size() ) ) { + // Reflection texture(s) + //Do nothing here } else if (!ASSIMP_strincmp( pPtr, DisplacementTexture.c_str(), DisplacementTexture.size() ) ) { // Displacement texture out = &m_pModel->m_pCurrentMaterial->textureDisp; @@ -346,7 +351,7 @@ void ObjFileMtlImporter::getTexture() { } bool clamp = false; - getTextureOption(clamp); + getTextureOption(clamp, clampIndex, out); m_pModel->m_pCurrentMaterial->clamp[clampIndex] = clamp; std::string texture; @@ -369,7 +374,7 @@ void ObjFileMtlImporter::getTexture() { * Because aiMaterial supports clamp option, so we also want to return it * ///////////////////////////////////////////////////////////////////////////// */ -void ObjFileMtlImporter::getTextureOption(bool &clamp) +void ObjFileMtlImporter::getTextureOption(bool &clamp, int &clampIndex, aiString *&out) { m_DataIt = getNextToken(m_DataIt, m_DataItEnd); @@ -392,13 +397,55 @@ void ObjFileMtlImporter::getTextureOption(bool &clamp) skipToken = 2; } - else if ( !ASSIMP_strincmp(pPtr, BlendUOption.c_str(), BlendUOption.size()) + else if( !ASSIMP_strincmp( pPtr, TypeOption.c_str(), TypeOption.size() ) ) + { + DataArrayIt it = getNextToken( m_DataIt, m_DataItEnd ); + char value[ 12 ]; + CopyNextWord( it, m_DataItEnd, value, sizeof( value ) / sizeof( *value ) ); + if( !ASSIMP_strincmp( value, "cube_top", 8 ) ) + { + clampIndex = ObjFile::Material::TextureReflectionCubeTopType; + out = &m_pModel->m_pCurrentMaterial->textureReflection[0]; + } + else if( !ASSIMP_strincmp( value, "cube_bottom", 11 ) ) + { + clampIndex = ObjFile::Material::TextureReflectionCubeBottomType; + out = &m_pModel->m_pCurrentMaterial->textureReflection[1]; + } + else if( !ASSIMP_strincmp( value, "cube_front", 10 ) ) + { + clampIndex = ObjFile::Material::TextureReflectionCubeFrontType; + out = &m_pModel->m_pCurrentMaterial->textureReflection[2]; + } + else if( !ASSIMP_strincmp( value, "cube_back", 9 ) ) + { + clampIndex = ObjFile::Material::TextureReflectionCubeBackType; + out = &m_pModel->m_pCurrentMaterial->textureReflection[3]; + } + else if( !ASSIMP_strincmp( value, "cube_left", 9 ) ) + { + clampIndex = ObjFile::Material::TextureReflectionCubeLeftType; + out = &m_pModel->m_pCurrentMaterial->textureReflection[4]; + } + else if( !ASSIMP_strincmp( value, "cube_right", 10 ) ) + { + clampIndex = ObjFile::Material::TextureReflectionCubeRightType; + out = &m_pModel->m_pCurrentMaterial->textureReflection[5]; + } + else if( !ASSIMP_strincmp( value, "sphere", 6 ) ) + { + clampIndex = ObjFile::Material::TextureReflectionSphereType; + out = &m_pModel->m_pCurrentMaterial->textureReflection[0]; + } + + skipToken = 2; + } + else if (!ASSIMP_strincmp(pPtr, BlendUOption.c_str(), BlendUOption.size()) || !ASSIMP_strincmp(pPtr, BlendVOption.c_str(), BlendVOption.size()) || !ASSIMP_strincmp(pPtr, BoostOption.c_str(), BoostOption.size()) || !ASSIMP_strincmp(pPtr, ResolutionOption.c_str(), ResolutionOption.size()) || !ASSIMP_strincmp(pPtr, BumpOption.c_str(), BumpOption.size()) - || !ASSIMP_strincmp(pPtr, ChannelOption.c_str(), ChannelOption.size()) - || !ASSIMP_strincmp(pPtr, TypeOption.c_str(), TypeOption.size()) ) + || !ASSIMP_strincmp(pPtr, ChannelOption.c_str(), ChannelOption.size())) { skipToken = 2; } diff --git a/code/ObjFileMtlImporter.h b/code/ObjFileMtlImporter.h index 3278e380b..8bcfc51e1 100644 --- a/code/ObjFileMtlImporter.h +++ b/code/ObjFileMtlImporter.h @@ -43,6 +43,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include struct aiColor3D; +struct aiString; namespace Assimp { @@ -89,7 +90,7 @@ private: void createMaterial(); /// Get texture name from loaded data. void getTexture(); - void getTextureOption(bool &clamp); + void getTextureOption(bool &clamp, int &clampIndex, aiString *&out); private: //! Absolute pathname From adb88aecde2ecde6d73013d6926e22c99c34fad2 Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Tue, 20 Oct 2015 13:57:29 +0200 Subject: [PATCH 24/24] Update Readme.md Add link to webirc-client to join assetimporterlib channel on freenode. --- Readme.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index eb16dc0f4..1a99bf873 100644 --- a/Readme.md +++ b/Readme.md @@ -113,7 +113,9 @@ If the docs don't solve your problem, ask on [StackOverflow](http://stackoverflo For development discussions, there is also a (very low-volume) mailing list, _assimp-discussions_ [(subscribe here)]( https://lists.sourceforge.net/lists/listinfo/assimp-discussions) -And we also have an IRC-channel at freenode: #assetimporterlib . +And we also have an IRC-channel at freenode: #assetimporterlib . You can easily join us via: [KiwiIRC/freenote](https://kiwiirc.com/client/irc.freenode.net), choose your nickname and type +> /join #assetimporterlib + ### Contributing ### Contributions to assimp are highly appreciated. The easiest way to get involved is to submit