From 6577249f7bad3c0d2a5ae9813096ec6e258370f0 Mon Sep 17 00:00:00 2001 From: OTHGMars Date: Sun, 26 May 2019 03:21:42 -0400 Subject: [PATCH 1/2] Activates assignment for material light maps. --- Engine/source/ts/assimp/assimpAppMaterial.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Engine/source/ts/assimp/assimpAppMaterial.cpp b/Engine/source/ts/assimp/assimpAppMaterial.cpp index 4d988f954..138085036 100644 --- a/Engine/source/ts/assimp/assimpAppMaterial.cpp +++ b/Engine/source/ts/assimp/assimpAppMaterial.cpp @@ -19,7 +19,7 @@ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS // IN THE SOFTWARE. //----------------------------------------------------------------------------- -//#define TORQUE_PBR_MATERIALS +#define TORQUE_PBR_MATERIALS #include "platform/platform.h" #include "ts/loader/appSequence.h" @@ -190,14 +190,13 @@ void AssimpAppMaterial::initMaterial(const Torque::Path& path, Material* mat) co if (AI_SUCCESS == mAIMat->Get(AI_MATKEY_TEXTURE(aiTextureType_UNKNOWN, 0), texName)) rmName = texName.C_Str(); - mat->mIsSRGb[0] = true; if (aoName.isNotEmpty() || rmName.isNotEmpty()) { // If we have either map, fill all three slots if (rmName.isNotEmpty()) { mat->mRoughMapFilename[0] = cleanTextureName(rmName, cleanFile, path, false); // Roughness mat->mSmoothnessChan[0] = 1.0f; - mat->mInvertSmoothness = (floatVal == 1.0f); + mat->mInvertSmoothness[0] = (floatVal == 1.0f); mat->mMetalMapFilename[0] = cleanTextureName(rmName, cleanFile, path, false); // Metallic mat->mMetalChan[0] = 2.0f; } From f63b1092d9699061ddf241992e78fbd4b7fc6119 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Tue, 28 May 2019 17:13:05 -0500 Subject: [PATCH 2/2] corrects a leak found with createcomposite --- Engine/source/gfx/gfxTextureManager.cpp | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Engine/source/gfx/gfxTextureManager.cpp b/Engine/source/gfx/gfxTextureManager.cpp index 062505f1c..a21022f9d 100644 --- a/Engine/source/gfx/gfxTextureManager.cpp +++ b/Engine/source/gfx/gfxTextureManager.cpp @@ -1131,6 +1131,13 @@ GFXTextureObject *GFXTextureManager::createCompositeTexture(GBitmap*bmp[4], U32 return NULL; } + GFXTextureObject* cacheHit = _lookupTexture(resourceName, profile); + if (cacheHit != NULL) + { + // Con::errorf("Cached texture '%s'", (resourceName.isNotEmpty() ? resourceName.c_str() : "unknown")); + return cacheHit; + } + U8 rChan, gChan, bChan, aChan; GBitmap *outBitmap = new GBitmap(); outBitmap->allocateBitmap(bmp[0]->getWidth(), bmp[0]->getHeight(),false, GFXFormatR8G8B8A8); @@ -1160,19 +1167,14 @@ GFXTextureObject *GFXTextureManager::createCompositeTexture(GBitmap*bmp[4], U32 } } - GFXTextureObject *cacheHit = _lookupTexture(resourceName, profile); - if (cacheHit != NULL) + if (deleteBmp) { - // Con::errorf("Cached texture '%s'", (resourceName.isNotEmpty() ? resourceName.c_str() : "unknown")); - if (deleteBmp) - { - delete outBitmap; - delete[] bmp; - } - return cacheHit; + delete[] bmp; } - return _createTexture(outBitmap, resourceName, profile, deleteBmp, NULL); + GFXTextureObject * ret= _createTexture(outBitmap, resourceName, profile, deleteBmp, NULL); + delete outBitmap; + return ret; } GFXTextureObject* GFXTextureManager::_findPooledTexure( U32 width,