mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 00:24:40 +00:00
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:
parent
0da0903599
commit
b2fe48ab8d
6 changed files with 50 additions and 75 deletions
|
|
@ -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 \
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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, (),,
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue