re-set defaults in texture baking when AssetServer done

This commit is contained in:
Stephen Birarda 2017-08-31 11:48:05 -07:00
parent 26b74db864
commit e25b4700d9
2 changed files with 21 additions and 0 deletions

View file

@ -266,6 +266,12 @@ AssetServer::AssetServer(ReceivedMessage& message) :
_transferTaskPool(this),
_bakingTaskPool(this)
{
// store the current state of image compression so we can reset it when this assignment is complete
_wasColorTextureCompressionEnabled = image::isColorTexturesCompressionEnabled();
_wasGrayscaleTextureCompressionEnabled = image::isGrayscaleTexturesCompressionEnabled();
_wasNormalTextureCompressionEnabled = image::isNormalTexturesCompressionEnabled();
_wasCubeTextureCompressionEnabled = image::isCubeTexturesCompressionEnabled();
// enable compression in image library
image::setColorTexturesCompressionEnabled(true);
image::setGrayscaleTexturesCompressionEnabled(true);
@ -302,6 +308,14 @@ AssetServer::AssetServer(ReceivedMessage& message) :
#endif
}
void AssetServer::aboutToFinish() {
// re-set defaults in image library
image::setColorTexturesCompressionEnabled(_wasCubeTextureCompressionEnabled);
image::setGrayscaleTexturesCompressionEnabled(_wasGrayscaleTextureCompressionEnabled);
image::setNormalTexturesCompressionEnabled(_wasNormalTextureCompressionEnabled);
image::setCubeTexturesCompressionEnabled(_wasCubeTextureCompressionEnabled);
}
void AssetServer::run() {
qCDebug(asset_server) << "Waiting for connection to domain to request settings from domain-server.";

View file

@ -64,6 +64,8 @@ class AssetServer : public ThreadedAssignment {
public:
AssetServer(ReceivedMessage& message);
void aboutToFinish() override;
public slots:
void run() override;
@ -137,6 +139,11 @@ private:
QHash<AssetHash, std::shared_ptr<BakeAssetTask>> _pendingBakes;
QThreadPool _bakingTaskPool;
bool _wasColorTextureCompressionEnabled { false };
bool _wasGrayscaleTextureCompressionEnabled { false };
bool _wasNormalTextureCompressionEnabled { false };
bool _wasCubeTextureCompressionEnabled { false };
};
#endif