fix url issue and always generateIrradiance

This commit is contained in:
SamGondelman 2019-04-25 11:31:56 -07:00
parent 3b746384ca
commit a66c515c2a
6 changed files with 4 additions and 28 deletions

View file

@ -41,7 +41,6 @@ std::atomic<Texture::Size> Texture::_allowedCPUMemoryUsage { 0 };
bool recommendedSparseTextures = (QThread::idealThreadCount() >= MIN_CORES_FOR_INCREMENTAL_TEXTURES);
std::atomic<bool> Texture::_enableSparseTextures { recommendedSparseTextures };
bool Texture::_generateIrradiance { true };
void Texture::setEnableSparseTextures(bool enabled) {
#ifdef Q_OS_WIN

View file

@ -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;

View file

@ -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<bool>& 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<bool>& 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<bool>& 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<bool>& abortProcessing) {
return processCubeTextureColorFromImage(std::move(image), srcImageName, compress, target, CUBE_GENERATE_IRRADIANCE | CUBE_GGX_CONVOLVE, abortProcessing);

View file

@ -98,10 +98,6 @@ gpu::TexturePointer createMetallicTextureFromImage(Image&& image, const std::str
bool compress, gpu::BackendTarget target, const std::atomic<bool>& abortProcessing);
gpu::TexturePointer createCubeTextureFromImage(Image&& image, const std::string& srcImageName,
bool compress, gpu::BackendTarget target, const std::atomic<bool>& abortProcessing);
gpu::TexturePointer createCubeTextureAndIrradianceFromImage(Image&& image, const std::string& srcImageName,
bool compress, gpu::BackendTarget target, const std::atomic<bool>& abortProcessing);
gpu::TexturePointer createAmbientCubeTextureFromImage(Image&& image, const std::string& srcImageName,
bool compress, gpu::BackendTarget target, const std::atomic<bool>& abortProcessing);
gpu::TexturePointer createAmbientCubeTextureAndIrradianceFromImage(Image&& image, const std::string& srcImageName,
bool compress, gpu::BackendTarget target, const std::atomic<bool>& abortProcessing);
gpu::TexturePointer createLightmapTextureFromImage(Image&& image, const std::string& srcImageName,

View file

@ -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<TextureBaker*>(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

View file

@ -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() {