1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
diff -ur collada2gltf.org/GLTF/GLTFAsset.cpp collada2gltf/GLTF/GLTFAsset.cpp
--- collada2gltf.org/GLTF/GLTFAsset.cpp 2014-05-22 11:12:21.823216900 +0200
+++ collada2gltf/GLTF/GLTFAsset.cpp 2014-05-22 14:59:04.963439700 +0200
@@ -191,12 +191,9 @@
shared_ptr<GLTFOutputStream> GLTFAsset::createOutputStreamIfNeeded(const std::string& streamName) {
if (this->_nameToOutputStream.count(streamName) == 0) {
- COLLADABU::URI inputURI(this->getInputFilePath().c_str());
COLLADABU::URI outputURI(this->getOutputFilePath().c_str());
- std::string folder = outputURI.getPathDir();
- std::string fileName = inputURI.getPathFileBase();
-
+ std::string folder = COLLADABU::URI(outputURI.getPathDir()).toNativePath();
shared_ptr<GLTFOutputStream> outputStream = shared_ptr <GLTFOutputStream> (new GLTFOutputStream(folder, streamName, ""));
this->_nameToOutputStream[streamName] = outputStream;
}
@@ -280,13 +277,13 @@
this->_bundleOutputPath = outputBundlePathURI.toNativePath();
COLLADABU::URI outputPathURI(outputBundlePathURI.getURIString() + "/" + outputBundlePathURI.getPathFileBase() + "." + "json");
- this->_outputFilePath = outputPathURI.toNativePath();
+ this->_outputFilePath = outputPathURI.getURIString();
// this->log("outputBundlePath:%s\n",outputBundlePathURI.toNativePath().c_str());
// this->log("outputPath:%s\n",outputPathURI.toNativePath().c_str());
} else {
this->_bundleOutputPath = outputBundlePathURI.toNativePath();
COLLADABU::URI outputPathURI(outputBundlePathURI.getURIString() + "/" + outputBundlePathURI.getPathFileBase() + "." + "json");
- this->_outputFilePath = outputPathURI.toNativePath();
+ this->_outputFilePath = outputPathURI.getURIString();
}
COLLADABU::Utils::createDirectoryIfNeeded(this->_bundleOutputPath.c_str());
}
@@ -376,9 +373,9 @@
COLLADABU::URI outputImagePathURI(inputImagePath.c_str());
COLLADABU::URI outputURI(this->getOutputFilePath().c_str());
- std::string folder = outputURI.getPathDir();
+ std::string folder = COLLADABU::URI(outputURI.getPathDir()).toNativePath();
std::string outputPath = folder + outputImagePathURI.getPathFile();
-
+
std::ifstream f1(inputImagePath.c_str(), std::fstream::binary);
std::ofstream f2(outputPath.c_str(), std::fstream::binary);
@@ -397,8 +394,8 @@
this->_root = shared_ptr <GLTF::JSONObject> (new GLTF::JSONObject());
this->_root->setString(kProfile, profile->id());
this->_root->createObjectIfNeeded(kNodes);
-
- this->_writer.initWithPath(this->getOutputFilePath().c_str());
+ COLLADABU::URI outputURI(this->getOutputFilePath().c_str());
+ this->_writer.initWithPath(outputURI.toNativePath().c_str());
}
static void __eval(JSONValue* value, void *context) {
@@ -427,7 +424,7 @@
void GLTFAsset::_writeJSONResource(const std::string &path, shared_ptr<JSONObject> obj) {
GLTF::GLTFWriter resultsWriter;
COLLADABU::URI outputURI(this->resourceOuputPathForPath(path));
- std::string aPath = this->getOutputFolderPath() + outputURI.getPathFile();
+ std::string aPath = COLLADABU::URI(this->getOutputFolderPath() + outputURI.getPathFile()).toNativePath();
resultsWriter.initWithPath(aPath);
obj->write(&resultsWriter);
diff -ur collada2gltf.org/shaders/commonProfileShaders.cpp collada2gltf/shaders/commonProfileShaders.cpp
--- collada2gltf.org/shaders/commonProfileShaders.cpp 2014-05-22 11:12:21.854416900 +0200
+++ collada2gltf/shaders/commonProfileShaders.cpp 2014-05-22 14:24:57.063126800 +0200
@@ -294,7 +294,7 @@
//also write the file on disk
if (shaderString.size() > 0) {
COLLADABU::URI outputURI(asset->getOutputFilePath());
- std::string shaderPath = outputURI.getPathDir() + path;
+ std::string shaderPath = COLLADABU::URI(outputURI.getPathDir()).toNativePath() + path;
GLTF::GLTFUtils::writeData(shaderPath, "w",(unsigned char*)shaderString.c_str(), shaderString.size());
if (!CONFIG_BOOL(asset, "outputProgress") && asset->converterConfig()->boolForKeyPath("verboseLogging")) {
asset->log("[shader]: %s\n", shaderPath.c_str());
|