From a66c515c2ada32c079464b60b8f11b36dd877f7e Mon Sep 17 00:00:00 2001 From: SamGondelman Date: Thu, 25 Apr 2019 11:31:56 -0700 Subject: [PATCH] fix url issue and always generateIrradiance --- libraries/gpu/src/gpu/Texture.cpp | 1 - libraries/gpu/src/gpu/Texture.h | 2 -- libraries/image/src/image/TextureProcessing.cpp | 16 +--------------- libraries/image/src/image/TextureProcessing.h | 4 ---- tools/oven/src/DomainBaker.cpp | 6 +++--- tools/oven/src/Oven.cpp | 3 --- 6 files changed, 4 insertions(+), 28 deletions(-) diff --git a/libraries/gpu/src/gpu/Texture.cpp b/libraries/gpu/src/gpu/Texture.cpp index c884191995..1edd7d33cf 100755 --- a/libraries/gpu/src/gpu/Texture.cpp +++ b/libraries/gpu/src/gpu/Texture.cpp @@ -41,7 +41,6 @@ std::atomic Texture::_allowedCPUMemoryUsage { 0 }; bool recommendedSparseTextures = (QThread::idealThreadCount() >= MIN_CORES_FOR_INCREMENTAL_TEXTURES); std::atomic Texture::_enableSparseTextures { recommendedSparseTextures }; -bool Texture::_generateIrradiance { true }; void Texture::setEnableSparseTextures(bool enabled) { #ifdef Q_OS_WIN diff --git a/libraries/gpu/src/gpu/Texture.h b/libraries/gpu/src/gpu/Texture.h index 63cbd0bfed..5e2485941d 100755 --- a/libraries/gpu/src/gpu/Texture.h +++ b/libraries/gpu/src/gpu/Texture.h @@ -583,8 +583,6 @@ public: static bool evalTextureFormat(const ktx::Header& header, Element& mipFormat, Element& texelFormat); static bool getCompressedFormat(khronos::gl::texture::InternalFormat format, Element& elFormat); - static bool _generateIrradiance; - protected: const TextureUsageType _usageType; diff --git a/libraries/image/src/image/TextureProcessing.cpp b/libraries/image/src/image/TextureProcessing.cpp index edbe71a619..429859d109 100644 --- a/libraries/image/src/image/TextureProcessing.cpp +++ b/libraries/image/src/image/TextureProcessing.cpp @@ -114,11 +114,7 @@ TextureUsage::TextureLoader TextureUsage::getTextureLoaderForType(Type type) { case SKY_TEXTURE: return image::TextureUsage::createCubeTextureFromImage; case AMBIENT_TEXTURE: - if (Texture::_generateIrradiance) { - return image::TextureUsage::createAmbientCubeTextureAndIrradianceFromImage; - } else { - return image::TextureUsage::createAmbientCubeTextureFromImage; - } + return image::TextureUsage::createAmbientCubeTextureAndIrradianceFromImage; case BUMP_TEXTURE: return image::TextureUsage::createNormalTextureFromBumpImage; case NORMAL_TEXTURE: @@ -188,21 +184,11 @@ gpu::TexturePointer TextureUsage::createMetallicTextureFromImage(Image&& srcImag return process2DTextureGrayscaleFromImage(std::move(srcImage), srcImageName, compress, target, false, abortProcessing); } -gpu::TexturePointer TextureUsage::createCubeTextureAndIrradianceFromImage(Image&& srcImage, const std::string& srcImageName, - bool compress, BackendTarget target, const std::atomic& abortProcessing) { - return processCubeTextureColorFromImage(std::move(srcImage), srcImageName, compress, target, CUBE_GENERATE_IRRADIANCE, abortProcessing); -} - gpu::TexturePointer TextureUsage::createCubeTextureFromImage(Image&& srcImage, const std::string& srcImageName, bool compress, BackendTarget target, const std::atomic& abortProcessing) { return processCubeTextureColorFromImage(std::move(srcImage), srcImageName, compress, target, CUBE_DEFAULT, abortProcessing); } -gpu::TexturePointer TextureUsage::createAmbientCubeTextureFromImage(Image&& image, const std::string& srcImageName, - bool compress, gpu::BackendTarget target, const std::atomic& abortProcessing) { - return processCubeTextureColorFromImage(std::move(image), srcImageName, compress, target, CUBE_GGX_CONVOLVE, abortProcessing); -} - gpu::TexturePointer TextureUsage::createAmbientCubeTextureAndIrradianceFromImage(Image&& image, const std::string& srcImageName, bool compress, gpu::BackendTarget target, const std::atomic& abortProcessing) { return processCubeTextureColorFromImage(std::move(image), srcImageName, compress, target, CUBE_GENERATE_IRRADIANCE | CUBE_GGX_CONVOLVE, abortProcessing); diff --git a/libraries/image/src/image/TextureProcessing.h b/libraries/image/src/image/TextureProcessing.h index a46a933d5a..b4036ddd9f 100644 --- a/libraries/image/src/image/TextureProcessing.h +++ b/libraries/image/src/image/TextureProcessing.h @@ -98,10 +98,6 @@ gpu::TexturePointer createMetallicTextureFromImage(Image&& image, const std::str bool compress, gpu::BackendTarget target, const std::atomic& abortProcessing); gpu::TexturePointer createCubeTextureFromImage(Image&& image, const std::string& srcImageName, bool compress, gpu::BackendTarget target, const std::atomic& abortProcessing); -gpu::TexturePointer createCubeTextureAndIrradianceFromImage(Image&& image, const std::string& srcImageName, - bool compress, gpu::BackendTarget target, const std::atomic& abortProcessing); -gpu::TexturePointer createAmbientCubeTextureFromImage(Image&& image, const std::string& srcImageName, - bool compress, gpu::BackendTarget target, const std::atomic& abortProcessing); gpu::TexturePointer createAmbientCubeTextureAndIrradianceFromImage(Image&& image, const std::string& srcImageName, bool compress, gpu::BackendTarget target, const std::atomic& abortProcessing); gpu::TexturePointer createLightmapTextureFromImage(Image&& image, const std::string& srcImageName, diff --git a/tools/oven/src/DomainBaker.cpp b/tools/oven/src/DomainBaker.cpp index b39d433693..1a978ff304 100644 --- a/tools/oven/src/DomainBaker.cpp +++ b/tools/oven/src/DomainBaker.cpp @@ -189,7 +189,7 @@ void DomainBaker::addModelBaker(const QString& property, const QString& url, con void DomainBaker::addTextureBaker(const QString& property, const QString& url, image::TextureUsage::Type type, const QJsonValueRef& jsonRef) { QString cleanURL = QUrl(url).adjusted(QUrl::RemoveQuery | QUrl::RemoveFragment).toDisplayString(); auto idx = cleanURL.lastIndexOf('.'); - auto extension = idx >= 0 ? url.mid(idx + 1).toLower() : ""; + auto extension = idx >= 0 ? cleanURL.mid(idx + 1).toLower() : ""; if (QImageReader::supportedImageFormats().contains(extension.toLatin1())) { // grab a clean version of the URL without a query or fragment @@ -223,7 +223,7 @@ void DomainBaker::addTextureBaker(const QString& property, const QString& url, i // add this QJsonValueRef to our multi hash so that it can re-write the texture URL // to the baked version once the baker is complete // it doesn't really matter what this key is as long as it's consistent - _entitiesNeedingRewrite.insert(textureURL.toDisplayString() + type, { property, jsonRef }); + _entitiesNeedingRewrite.insert(textureURL.toDisplayString() + "^" + type, { property, jsonRef }); } else { qDebug() << "Texture extension not supported: " << extension; } @@ -500,7 +500,7 @@ void DomainBaker::handleFinishedTextureBaker() { auto baker = qobject_cast(sender()); if (baker) { - QUrl rewriteKey = baker->getTextureURL().toDisplayString() + baker->getTextureType(); + QUrl rewriteKey = baker->getTextureURL().toDisplayString() + "^" + baker->getTextureType(); if (!baker->hasErrors()) { // this TextureBaker is done and everything went according to plan diff --git a/tools/oven/src/Oven.cpp b/tools/oven/src/Oven.cpp index 2dcf632867..a680dd1f89 100644 --- a/tools/oven/src/Oven.cpp +++ b/tools/oven/src/Oven.cpp @@ -52,9 +52,6 @@ Oven::Oven() { modelFormatRegistry->addFormat(FBXSerializer()); modelFormatRegistry->addFormat(OBJSerializer()); } - - // We only need to generate irradiance at runtime - gpu::Texture::_generateIrradiance = false; } Oven::~Oven() {