Sync conan versions and Texturebuilder work.
This commit is contained in:
parent
10d8a665e0
commit
eef1a8f153
|
@ -18,7 +18,13 @@ class FBX2glTFConan(ConanFile):
|
||||||
generators = "cmake_find_package", "cmake_paths"
|
generators = "cmake_find_package", "cmake_paths"
|
||||||
|
|
||||||
def configure(self):
|
def configure(self):
|
||||||
pass
|
if (
|
||||||
|
self.settings.compiler == "gcc"
|
||||||
|
and self.settings.compiler.libcxx == "libstdc++"
|
||||||
|
):
|
||||||
|
raise Exception(
|
||||||
|
"Rerun 'conan install' with argument: '-s compiler.libcxx=libstdc++11'"
|
||||||
|
)
|
||||||
|
|
||||||
def build(self):
|
def build(self):
|
||||||
cmake = CMake(self)
|
cmake = CMake(self)
|
||||||
|
|
|
@ -202,27 +202,24 @@ std::shared_ptr<TextureData> TextureBuilder::simple(int rawTexIndex, const std::
|
||||||
image = new ImageData(relativeFilename, *bufferView, mimeType);
|
image = new ImageData(relativeFilename, *bufferView, mimeType);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (!relativeFilename.empty()) {
|
} else if (!relativeFilename.empty()) {
|
||||||
std::string outputPath = outputFolder + "/" + relativeFilename;
|
std::string outputPath = outputFolder + "/" + relativeFilename;
|
||||||
auto dstAbs = FileUtils::GetAbsolutePath(outputPath);
|
auto dstAbs = FileUtils::GetAbsolutePath(outputPath);
|
||||||
image = new ImageData(relativeFilename, relativeFilename);
|
image = new ImageData(relativeFilename, relativeFilename);
|
||||||
auto srcAbs = FileUtils::GetAbsolutePath(rawTexture.fileLocation);
|
auto srcAbs = FileUtils::GetAbsolutePath(rawTexture.fileLocation);
|
||||||
if (!FileUtils::FileExists(outputPath) && srcAbs != dstAbs) {
|
if (FileUtils::FileExists(outputPath) || srcAbs == dstAbs)) {
|
||||||
if (FileUtils::CopyFile(rawTexture.fileLocation, outputPath, true)) {
|
return nullptr;
|
||||||
if (verboseOutput) {
|
|
||||||
fmt::printf("Copied texture '%s' to output folder: %s\n", textureName, outputPath);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// no point commenting further on read/write error; CopyFile() does enough of that, and we
|
|
||||||
// certainly want to to add an image struct to the glTF JSON, with the correct relative
|
|
||||||
// path reference, even if the copy failed.
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
if (!FileUtils::CopyFile(rawTexture.fileLocation, outputPath, true)) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
if (verboseOutput) {
|
||||||
|
fmt::printf("Copied texture '%s' to output folder: %s\n", textureName, outputPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!image) {
|
if (!image) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<TextureData> texDat = gltf.textures.hold(
|
std::shared_ptr<TextureData> texDat = gltf.textures.hold(
|
||||||
new TextureData(textureName, *gltf.defaultSampler, *gltf.images.hold(image)));
|
new TextureData(textureName, *gltf.defaultSampler, *gltf.images.hold(image)));
|
||||||
textureByIndicesKey.insert(std::make_pair(key, texDat));
|
textureByIndicesKey.insert(std::make_pair(key, texDat));
|
||||||
|
|
Loading…
Reference in New Issue