more merge conflicts

fixed more merge conflicts (afxZodiac and MaterialDefinition)
Updated cubemapdata to use refactor asset
added new part to image_asset macro to create a private asset if the file exists.

updated reflectionProbe errors to actual function name where the error occurs.
This commit is contained in:
marauder2k7 2025-03-24 21:50:04 +00:00
parent 0da0903599
commit b2fe48ab8d
6 changed files with 50 additions and 75 deletions

View file

@ -171,7 +171,7 @@ public:
void setTextureHDR(const bool pIsHDR); void setTextureHDR(const bool pIsHDR);
inline bool getTextureHDR(void) const { return mIsHDRImage; }; inline bool getTextureHDR(void) const { return mIsHDRImage; };
inline GFXTexHandle& getTexture(void) { load(); generateTexture(); return mTextureHandle; } inline GFXTexHandle& getTexture(void) { load(); generateTexture(); return mTextureHandle; }
GFXTexHandle getTexture(GFXTextureProfile* requestedProfile); GFXTexHandle getTexture(GFXTextureProfile* requestedProfile);
static StringTableEntry getImageTypeNameFromType(ImageTypes type); static StringTableEntry getImageTypeNameFromType(ImageTypes type);
@ -610,6 +610,12 @@ public:
{ \ { \
imageAssetId = query.mAssetList[0]; \ imageAssetId = query.mAssetList[0]; \
} \ } \
else if(Torque::FS::IsFile(_in)) \
{ \
ImageAsset* privateImage = new ImageAsset(); \
privateImage->setImageFile(_in); \
imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \
} \
m##name##Asset = imageAssetId; \ m##name##Asset = imageAssetId; \
} \ } \
else \ else \
@ -677,6 +683,12 @@ public:
{ \ { \
imageAssetId = query.mAssetList[0]; \ imageAssetId = query.mAssetList[0]; \
} \ } \
else if(Torque::FS::IsFile(_in)) \
{ \
ImageAsset* privateImage = new ImageAsset(); \
privateImage->setImageFile(_in); \
imageAssetId = AssetDatabase.addPrivateAsset(privateImage); \
} \
m##name##Asset[index] = imageAssetId; \ m##name##Asset[index] = imageAssetId; \
} \ } \
else \ else \

View file

@ -605,7 +605,7 @@ void ReflectionProbe::processBakedCubemap()
if (mIrridianceMap == nullptr || mIrridianceMap->mCubemap.isNull()) if (mIrridianceMap == nullptr || mIrridianceMap->mCubemap.isNull())
{ {
Con::errorf("ReflectionProbe::processDynamicCubemap() - Unable to load baked irradiance map at %s", getIrradianceMapPath().c_str()); Con::errorf("ReflectionProbe::processBakedCubemap() - Unable to load baked irradiance map at %s", getIrradianceMapPath().c_str());
return; return;
} }
@ -618,7 +618,7 @@ void ReflectionProbe::processBakedCubemap()
if (mPrefilterMap == nullptr || mPrefilterMap->mCubemap.isNull()) if (mPrefilterMap == nullptr || mPrefilterMap->mCubemap.isNull())
{ {
Con::errorf("ReflectionProbe::processDynamicCubemap() - Unable to load baked prefilter map at %s", getPrefilterMapPath().c_str()); Con::errorf("ReflectionProbe::processBakedCubemap() - Unable to load baked prefilter map at %s", getPrefilterMapPath().c_str());
return; return;
} }

View file

@ -324,22 +324,11 @@ bool afxZodiacData::preload(bool server, String &errorStr)
if (vert_range.x == 0.0f && vert_range.y == 0.0f) if (vert_range.x == 0.0f && vert_range.y == 0.0f)
vert_range.x = vert_range.y = radius_xy; vert_range.x = vert_range.y = radius_xy;
if (mTextureAssetId != StringTable->EmptyString()) if (mTextureAsset.notNull())
{ {
mTextureAsset = mTextureAssetId; getTexture();
if (mTextureAsset.notNull())
{
if (getTexture() != StringTable->EmptyString() && mTextureName != StringTable->insert("texhandle"))
{
if (mTextureAsset.notNull())
{
mTextureAsset->getChangedSignal().notify(this, &afxZodiacData::onImageChanged);
}
mTexture.set(getTexture(), mTextureProfile, avar("%s() - mTextureObject (line %d)", __FUNCTION__, __LINE__));
}
}
} }
return true; return true;
} }

View file

@ -41,13 +41,6 @@ IMPLEMENT_CONOBJECT( CubemapData );
CubemapData::CubemapData() CubemapData::CubemapData()
{ {
mCubemap = NULL; mCubemap = NULL;
for (U32 i = 0; i < 6; i++)
{
INIT_IMAGEASSET_ARRAY(CubeMapFace, GFXStaticTextureSRGBProfile, i);
}
INIT_ASSET(CubeMap);
} }
CubemapData::~CubemapData() CubemapData::~CubemapData()
@ -77,17 +70,7 @@ ConsoleDocClass( CubemapData,
void CubemapData::initPersistFields() void CubemapData::initPersistFields()
{ {
docsURL; docsURL;
addProtectedField( "cubeFace", TypeStringFilename, Offset(mCubeMapFaceName, CubemapData), _setCubeMapFaceData, defaultProtectedGetFn, 6, INITPERSISTFIELD_IMAGEASSET_ARRAY_REFACTOR(CubeMapFace, 6, CubemapData, "@brief The 6 cubemap face textures for a static cubemap.\n\n"
"@brief The 6 cubemap face textures for a static cubemap.\n\n"
"They are in the following order:\n"
" - cubeFace[0] is -X\n"
" - cubeFace[1] is +X\n"
" - cubeFace[2] is -Z\n"
" - cubeFace[3] is +Z\n"
" - cubeFace[4] is -Y\n"
" - cubeFace[5] is +Y\n", AbstractClassRep::FIELD_HideInInspectors );
INITPERSISTFIELD_IMAGEASSET_ARRAY(CubeMapFace, 6, CubemapData, "@brief The 6 cubemap face textures for a static cubemap.\n\n"
"They are in the following order:\n" "They are in the following order:\n"
" - cubeFace[0] is -X\n" " - cubeFace[0] is -X\n"
" - cubeFace[1] is +X\n" " - cubeFace[1] is +X\n"
@ -96,7 +79,7 @@ void CubemapData::initPersistFields()
" - cubeFace[4] is -Y\n" " - cubeFace[4] is -Y\n"
" - cubeFace[5] is +Y\n"); " - cubeFace[5] is +Y\n");
INITPERSISTFIELD_IMAGEASSET(CubeMap, CubemapData, "@brief Cubemap dds Image Asset.\n\n"); INITPERSISTFIELD_IMAGEASSET_REFACTOR(CubeMap, CubemapData, "@brief Cubemap dds Image Asset.\n\n");
} }
bool CubemapData::onAdd() bool CubemapData::onAdd()
@ -116,19 +99,26 @@ void CubemapData::createMap()
{ {
bool initSuccess = true; bool initSuccess = true;
//check mCubeMapFile first //check mCubeMapFile first
if (getCubeMap() != StringTable->EmptyString()) if (mCubeMapAsset.notNull())
{ {
mCubemap = TEXMGR->createCubemap(getCubeMap()); mCubemap = TEXMGR->createCubemap(mCubeMapAsset->getImageFile());
return; return;
} }
else else
{ {
for (U32 i = 0; i < 6; i++) for (U32 i = 0; i < 6; i++)
{ {
if (!_setCubeMapFace(getCubeMapFace(i), i)) if (mCubeMapFaceAsset[i].notNull())
{ {
Con::errorf("CubemapData::createMap - Failed to load texture '%s'", getCubeMapFace(i)); if (!getCubeMapFace(i))
initSuccess = false; {
Con::errorf("CubemapData::createMap - Failed to load texture '%s'", getCubeMapFace(i));
initSuccess = false;
}
else
{
mCubeMapFaceTex[i] = getCubeMapFace(i);
}
} }
} }
} }
@ -136,9 +126,10 @@ void CubemapData::createMap()
if( initSuccess ) if( initSuccess )
{ {
mCubemap = GFX->createCubemap(); mCubemap = GFX->createCubemap();
if (!mCubeMapFace || mCubeMapFace->isNull()) if (mCubeMapFaceAsset->isNull())
return; return;
mCubemap->initStatic(mCubeMapFace);
mCubemap->initStatic(mCubeMapFaceTex);
} }
} }
} }
@ -150,18 +141,22 @@ void CubemapData::updateFaces()
for( U32 i=0; i<6; i++ ) for( U32 i=0; i<6; i++ )
{ {
//check mCubeMapFile first //check mCubeMapFile first
if (getCubeMap() != StringTable->EmptyString()) if (mCubeMapAsset.notNull())
{ {
mCubemap = TEXMGR->createCubemap(getCubeMap()); mCubemap = TEXMGR->createCubemap(mCubeMapAsset->getImageFile());
return; return;
} }
else else
{ {
if (!_setCubeMapFace(getCubeMapFace(i), i)) if (!getCubeMapFace(i))
{ {
Con::errorf("CubemapData::createMap - Failed to load texture '%s'", getCubeMapFace(i)); Con::errorf("CubemapData::createMap - Failed to load texture '%s'", getCubeMapFace(i));
initSuccess = false; initSuccess = false;
} }
else
{
mCubeMapFaceTex[i] = getCubeMapFace(i);
}
} }
} }
@ -170,13 +165,13 @@ void CubemapData::updateFaces()
mCubemap = NULL; mCubemap = NULL;
mCubemap = GFX->createCubemap(); mCubemap = GFX->createCubemap();
mCubemap->initStatic( mCubeMapFace ); mCubemap->initStatic(mCubeMapFaceTex);
} }
} }
void CubemapData::setCubemapFile(FileName newCubemapFile) void CubemapData::setCubemapFile(FileName newCubemapFile)
{ {
mCubeMapName = newCubemapFile; _setCubeMap(newCubemapFile);
} }
void CubemapData::setCubeFaceFile(U32 index, FileName newFaceFile) void CubemapData::setCubeFaceFile(U32 index, FileName newFaceFile)
@ -184,7 +179,7 @@ void CubemapData::setCubeFaceFile(U32 index, FileName newFaceFile)
if (index >= 6) if (index >= 6)
return; return;
mCubeMapFaceName[index] = newFaceFile; _setCubeMapFace(newFaceFile, index);
} }
void CubemapData::setCubeFaceTexture(U32 index, GFXTexHandle newFaceTexture) void CubemapData::setCubeFaceTexture(U32 index, GFXTexHandle newFaceTexture)
@ -192,7 +187,7 @@ void CubemapData::setCubeFaceTexture(U32 index, GFXTexHandle newFaceTexture)
if (index >= 6) if (index >= 6)
return; return;
mCubeMapFace[index] = newFaceTexture; mCubeMapFaceTex[index] = newFaceTexture;
} }
DefineEngineMethod( CubemapData, updateFaces, void, (),, DefineEngineMethod( CubemapData, updateFaces, void, (),,

View file

@ -70,20 +70,16 @@ public:
void setCubeFaceTexture(U32 index, GFXTexHandle newFaceTexture); void setCubeFaceTexture(U32 index, GFXTexHandle newFaceTexture);
GFXTexHandle* getCubeFaceTexture(U32 faceIdx) { return &mCubeMapFace[faceIdx]; } GFXTexHandle* getCubeFaceTexture(U32 faceIdx) { return &mCubeMapFaceTex[faceIdx]; }
protected: protected:
DECLARE_IMAGEASSET(CubemapData, CubeMap, onCubemapChanged, GFXStaticTextureSRGBProfile); DECLARE_IMAGEASSET_REFACTOR(CubemapData, CubeMap, GFXStaticTextureSRGBProfile);
DECLARE_ASSET_SETGET(CubemapData, CubeMap);
DECLARE_IMAGEASSET_ARRAY(CubemapData, CubeMapFace, 6, onCubeMapFaceChanged); DECLARE_IMAGEASSET_ARRAY_REFACTOR(CubemapData, CubeMapFace, GFXStaticTextureSRGBProfile, 6);
DECLARE_IMAGEASSET_ARRAY_SETGET(CubemapData, CubeMapFace);
void onCubeMapFaceChanged() {} GFXTexHandle mCubeMapFaceTex[6];
GFXTexHandle mDepthBuff; GFXTexHandle mDepthBuff;
GFXTextureTargetRef mRenderTarget; GFXTextureTargetRef mRenderTarget;
void onCubemapChanged() {}
}; };
#endif // CUBEMAPDATA #endif // CUBEMAPDATA

View file

@ -232,11 +232,6 @@ FRangeValidator glowMulRange(0.0f, 20.0f);
FRangeValidator parallaxScaleRange(0.0f, 4.0f); FRangeValidator parallaxScaleRange(0.0f, 4.0f);
FRangeValidator scrollSpeedRange(0.0f, 10.0f); FRangeValidator scrollSpeedRange(0.0f, 10.0f);
FRangeValidator waveFreqRange(0.0f, 10.0f); FRangeValidator waveFreqRange(0.0f, 10.0f);
void Material::onImageAssetChanged()
{
flush();
reload();
}
void Material::initPersistFields() void Material::initPersistFields()
{ {
@ -495,18 +490,6 @@ void Material::initPersistFields()
// They point at the new 'map' fields, but reads always return // They point at the new 'map' fields, but reads always return
// an empty string and writes only apply if the value is not empty. // an empty string and writes only apply if the value is not empty.
// //
addProtectedField("baseTex", TypeImageFilename, Offset(mDiffuseMapName, Material),
defaultProtectedSetNotEmptyFn, emptyStringProtectedGetFn, MAX_STAGES,
"For backwards compatibility.\n@see diffuseMap\n", AbstractClassRep::FIELD_HideInInspectors);
addProtectedField("detailTex", TypeImageFilename, Offset(mDetailMapName, Material),
defaultProtectedSetNotEmptyFn, emptyStringProtectedGetFn, MAX_STAGES,
"For backwards compatibility.\n@see detailMap\n", AbstractClassRep::FIELD_HideInInspectors);
addProtectedField("overlayTex", TypeImageFilename, Offset(mOverlayMapName, Material),
defaultProtectedSetNotEmptyFn, emptyStringProtectedGetFn, MAX_STAGES,
"For backwards compatibility.\n@see overlayMap\n", AbstractClassRep::FIELD_HideInInspectors);
addProtectedField("bumpTex", TypeImageFilename, Offset(mNormalMapName, Material),
defaultProtectedSetNotEmptyFn, emptyStringProtectedGetFn, MAX_STAGES,
"For backwards compatibility.\n@see normalMap\n", AbstractClassRep::FIELD_HideInInspectors);
addProtectedField("colorMultiply", TypeColorF, Offset(mDiffuse, Material), addProtectedField("colorMultiply", TypeColorF, Offset(mDiffuse, Material),
defaultProtectedSetNotEmptyFn, emptyStringProtectedGetFn, MAX_STAGES, defaultProtectedSetNotEmptyFn, emptyStringProtectedGetFn, MAX_STAGES,
"For backwards compatibility.\n@see diffuseColor\n", AbstractClassRep::FIELD_HideInInspectors); "For backwards compatibility.\n@see diffuseColor\n", AbstractClassRep::FIELD_HideInInspectors);