Update OpenCollada and collada2gltf to the newest versions.

Change-Id: Iee0b9f08843220e8ece00739ca01aa438b93965a
This commit is contained in:
Jan Holesovsky 2014-05-25 14:14:05 +02:00
parent b421ce79e3
commit a850d96fad
7 changed files with 132 additions and 22 deletions

View File

@ -23,8 +23,7 @@ export CLUCENE_TARBALL := 48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.
export CMIS_TARBALL := 22f8a85daf4a012180322e1f52a7563b-libcmis-0.4.1.tar.gz export CMIS_TARBALL := 22f8a85daf4a012180322e1f52a7563b-libcmis-0.4.1.tar.gz
export COINMP_MD5SUM := 1cce53bf4b40ae29790d2c5c9f8b1129 export COINMP_MD5SUM := 1cce53bf4b40ae29790d2c5c9f8b1129
export COINMP_TARBALL := CoinMP-1.7.6.tgz export COINMP_TARBALL := CoinMP-1.7.6.tgz
export COLLADA2GLTF_MD5SUM := c8a8be5829ceffacfe1d68d078f5c442 export COLLADA2GLTF_TARBALL := 4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2
export COLLADA2GLTF_TARBALL := collada2gltf-master-6258611a6a.tar.bz2
export CPPUNIT_TARBALL := ac4781e01619be13461bb2d562b94a7b-cppunit-1.13.1.tar.gz export CPPUNIT_TARBALL := ac4781e01619be13461bb2d562b94a7b-cppunit-1.13.1.tar.gz
export CT2N_TARBALL := 451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt export CT2N_TARBALL := 451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt
export CURL_MD5SUM := e6d1f9d1b59da5062109ffe14e0569a4 export CURL_MD5SUM := e6d1f9d1b59da5062109ffe14e0569a4

View File

@ -1,2 +1,2 @@
#define GIT_SHA1 "6258611a6a4b4b94b963db5f1fe41c5290be1f87" #define GIT_SHA1 "cb1d97788a38d2928afb4622f6a25d012f0f8a54"
char g_GIT_SHA1[] = GIT_SHA1; char g_GIT_SHA1[] = GIT_SHA1;

View File

@ -45,11 +45,10 @@ diff -ur collada2gltf.org/GLTF/GLTFAsset.cpp collada2gltf/GLTF/GLTFAsset.cpp
std::ofstream f2(outputPath.c_str(), std::fstream::binary); std::ofstream f2(outputPath.c_str(), std::fstream::binary);
if (this->_converterConfig->boolForKeyPath("verboseLogging")) { if (this->_converterConfig->boolForKeyPath("verboseLogging")) {
@@ -397,8 +394,8 @@ @@ -397,7 +394,8 @@
this->_root = shared_ptr <GLTF::JSONObject> (new GLTF::JSONObject()); this->_root = shared_ptr <GLTF::JSONObject> (new GLTF::JSONObject());
this->_root->setString(kProfile, profile->id());
this->_root->createObjectIfNeeded(kNodes); this->_root->createObjectIfNeeded(kNodes);
-
- this->_writer.initWithPath(this->getOutputFilePath().c_str()); - this->_writer.initWithPath(this->getOutputFilePath().c_str());
+ COLLADABU::URI outputURI(this->getOutputFilePath().c_str()); + COLLADABU::URI outputURI(this->getOutputFilePath().c_str());
+ this->_writer.initWithPath(outputURI.toNativePath().c_str()); + this->_writer.initWithPath(outputURI.toNativePath().c_str());

View File

@ -12,6 +12,8 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,opencollada))
$(eval $(call gb_UnpackedTarball_set_tarball,opencollada,$(OPENCOLLADA_TARBALL))) $(eval $(call gb_UnpackedTarball_set_tarball,opencollada,$(OPENCOLLADA_TARBALL)))
$(eval $(call gb_UnpackedTarball_add_patches,opencollada,\ $(eval $(call gb_UnpackedTarball_add_patches,opencollada,\
external/opencollada/patches/0001-Revert-fix-for-malformed-FBX-COLLADA-id.patch.1 \
external/opencollada/patches/0002-Expose-sid-for-textures-in-extras.patch.1 \
external/opencollada/patches/opencollada.clang.patch.0 \ external/opencollada/patches/opencollada.clang.patch.0 \
external/opencollada/patches/opencollada.libxml.patch.0 \ external/opencollada/patches/opencollada.libxml.patch.0 \
external/opencollada/patches/generatedsaxparser_utils_touri_fix.patch.1 \ external/opencollada/patches/generatedsaxparser_utils_touri_fix.patch.1 \

View File

@ -0,0 +1,51 @@
From a54360e9d2a67350f27eec8dfbe1103778b2711c Mon Sep 17 00:00:00 2001
From: Fabrice Robinet <fabricerobinet@me.com>
Date: Tue, 13 May 2014 16:31:40 -0700
Subject: [PATCH 1/2] Revert fix for malformed FBX-COLLADA id
---
GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp b/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp
index 404306a..1f9a3ee 100644
--- a/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp
+++ b/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp
@@ -868,11 +868,13 @@ namespace GeneratedSaxParser
failed = false;
return COLLADABU::URI(0);
}
+ const ParserString& string = toStringListItem(buffer, bufferEnd, failed);
+ return COLLADABU::URI(string.str, string.length);
+
+ //FIXME: Testing fails on windows but pass on OSX with this fix.
//Just get the string as it is for ids, so that we are able to read FBX-COLLADA
//Otherwise, calling toStringItem would result in a truncated string when an id contains spaces
- //const ParserString& string = toStringListItem(buffer, bufferEnd, failed);
- //return COLLADABU::URI(string.str, string.length);
- return COLLADABU::URI((const char*)*buffer, bufferEnd - *buffer);
+ //return COLLADABU::URI((const char*)*buffer, bufferEnd - *buffer);
}
//--------------------------------------------------------------------
@@ -883,11 +885,14 @@ namespace GeneratedSaxParser
failed = false;
return COLLADABU::URI(0);
}
+
+ const ParserString& string = toStringListItem(buffer, failed);
+ return COLLADABU::URI(string.str, string.length);
+
+ //FIXME: Testing fails on windows but pass on OSX with this fix.
//Just get the string as it is for ids, so that we are able to read FBX-COLLADA
//Otherwise, calling toStringItem would result in a truncated string when an id contains spaces
- //const ParserString& string = toStringListItem(buffer, failed);
- //return COLLADABU::URI(string.str, string.length);
- return COLLADABU::URI((const char*)*buffer);
+ //return COLLADABU::URI((const char*)*buffer);
}
--
1.8.1.4

View File

@ -0,0 +1,66 @@
From 3f68b25b9085c577c2cc2db81d9a9f743de077b7 Mon Sep 17 00:00:00 2001
From: Fabrice Robinet <fabricerobinet@me.com>
Date: Thu, 22 May 2014 15:15:40 -0700
Subject: [PATCH 2/2] Expose sid for textures in extras.
---
COLLADAFramework/include/COLLADAFWSampler.h | 8 +++++++-
.../src/COLLADASaxFWLLibraryEffectsLoader.cpp | 4 +++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/COLLADAFramework/include/COLLADAFWSampler.h b/COLLADAFramework/include/COLLADAFWSampler.h
index 44936a8..562e47a 100644
--- a/COLLADAFramework/include/COLLADAFWSampler.h
+++ b/COLLADAFramework/include/COLLADAFWSampler.h
@@ -129,6 +129,9 @@ namespace COLLADAFW
that is used by the sampler to evaluate the MIPmap chain. */
float mMipmapBias;
+ /* sampler Sid, required to be able to retrieve a sampler from extras */
+ std::string mSid;
+
public:
/** Constructor. */
@@ -203,8 +206,11 @@ namespace COLLADAFW
/** Returns the mipmap Bias.*/
void setMipmapBias ( float mipmapBias ) { mMipmapBias = mipmapBias; }
- Sampler* clone() { return FW_NEW Sampler(*this); }
+ void setSid( const std::string &sid) { mSid = sid; }
+
+ const std::string& getSid() { return mSid; }
+ Sampler* clone() { return FW_NEW Sampler(*this); }
};
/**
diff --git a/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryEffectsLoader.cpp b/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryEffectsLoader.cpp
index 36f9c58..5ac99a4 100644
--- a/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryEffectsLoader.cpp
+++ b/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryEffectsLoader.cpp
@@ -1003,18 +1003,20 @@ namespace COLLADASaxFWL
bool validSampler = false;
SidSamplerInfoMap::iterator samplerIt = mEffectProfileSidSamplerInfoMap.find ( samplerSid );
+
if ( samplerIt == mEffectProfileSidSamplerInfoMap.end () )
{
samplerIt = mEffectSidSamplerInfoMap.find ( samplerSid );
if ( samplerIt != mEffectSidSamplerInfoMap.end () ) validSampler = true;
}
else validSampler = true;
-
+
if ( validSampler )
{
SamplerInfo& samplerInfo = samplerIt->second;
samplerInfo.id = samplerArray.getCount();
COLLADAFW::Sampler* sampler = samplerInfo.sampler;
+ sampler->setSid(samplerSid);
if ( !sampler->getSourceImage().isValid() )
{
bool validSurface = false;
--
1.8.1.4

View File

@ -1,7 +1,7 @@
diff -ur opencollada.org/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp opencollada/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp diff -ur opencollada.org/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp opencollada/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp
--- opencollada.org/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp 2014-05-22 15:24:25.437939696 +0200 --- opencollada.org/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp 2014-05-22 15:24:25.437939696 +0200
+++ opencollada/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp 2014-05-22 15:24:50.769938623 +0200 +++ opencollada/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp 2014-05-22 15:24:50.769938623 +0200
@@ -865,13 +865,14 @@ @@ -865,9 +865,10 @@
{ {
if ( *buffer == bufferEnd ) if ( *buffer == bufferEnd )
{ {
@ -9,15 +9,11 @@ diff -ur opencollada.org/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp open
+ failed = true; + failed = true;
return COLLADABU::URI(0); return COLLADABU::URI(0);
} }
//Just get the string as it is for ids, so that we are able to read FBX-COLLADA
//Otherwise, calling toStringItem would result in a truncated string when an id contains spaces
//const ParserString& string = toStringListItem(buffer, bufferEnd, failed);
//return COLLADABU::URI(string.str, string.length);
+ failed = false; + failed = false;
return COLLADABU::URI((const char*)*buffer, bufferEnd - *buffer); const ParserString& string = toStringListItem(buffer, bufferEnd, failed);
} return COLLADABU::URI(string.str, string.length);
@@ -880,13 +881,14 @@ @@ -880,10 +881,11 @@
{ {
if ( **buffer == '\0' ) if ( **buffer == '\0' )
{ {
@ -25,11 +21,8 @@ diff -ur opencollada.org/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp open
+ failed = true; + failed = true;
return COLLADABU::URI(0); return COLLADABU::URI(0);
} }
//Just get the string as it is for ids, so that we are able to read FBX-COLLADA
//Otherwise, calling toStringItem would result in a truncated string when an id contains spaces
//const ParserString& string = toStringListItem(buffer, failed);
//return COLLADABU::URI(string.str, string.length);
+ failed = false; + failed = false;
return COLLADABU::URI((const char*)*buffer); const ParserString& string = toStringListItem(buffer, failed);
} return COLLADABU::URI(string.str, string.length);