mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-14 16:14:38 +00:00
Ensures that baking is consistently set to use HDR formats or not which avoids an occasional mismatch crash
Also corrected a string formatting issue with loading static cubemaps on probes that could lead to a crash Fixed the resources loaded handling so it would correctly initialize the probe's cubemaps even if the initial ghost network packet assigned a cubemap before we fully init'd the client object
This commit is contained in:
parent
0e2fff00d2
commit
94e6d19fb2
2 changed files with 10 additions and 3 deletions
|
|
@ -296,7 +296,7 @@ bool ReflectionProbe::onAdd()
|
||||||
// Refresh this object's material (if any)
|
// Refresh this object's material (if any)
|
||||||
if (isClientObject())
|
if (isClientObject())
|
||||||
{
|
{
|
||||||
if (!createClientResources())
|
if (!mResourcesCreated && !createClientResources())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
updateProbeParams();
|
updateProbeParams();
|
||||||
|
|
@ -496,6 +496,12 @@ void ReflectionProbe::unpackUpdate(NetConnection *conn, BitStream *stream)
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void ReflectionProbe::updateProbeParams()
|
void ReflectionProbe::updateProbeParams()
|
||||||
{
|
{
|
||||||
|
if (!mResourcesCreated)
|
||||||
|
{
|
||||||
|
if (!createClientResources())
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
mProbeInfo.mIsEnabled = mEnabled;
|
mProbeInfo.mIsEnabled = mEnabled;
|
||||||
|
|
||||||
mProbeInfo.mProbeShapeType = mProbeShapeType;
|
mProbeInfo.mProbeShapeType = mProbeShapeType;
|
||||||
|
|
@ -624,7 +630,7 @@ void ReflectionProbe::processStaticCubemap()
|
||||||
String path = Con::getVariable("$pref::ReflectionProbes::CurrentLevelPath", "levels/");
|
String path = Con::getVariable("$pref::ReflectionProbes::CurrentLevelPath", "levels/");
|
||||||
|
|
||||||
char irradFileName[256];
|
char irradFileName[256];
|
||||||
dSprintf(irradFileName, 256, "%s_Irradiance.dds", path.c_str(), mCubemapName.c_str());
|
dSprintf(irradFileName, 256, "%s%s_Irradiance.dds", path.c_str(), mCubemapName.c_str());
|
||||||
|
|
||||||
if (Platform::isFile(irradFileName))
|
if (Platform::isFile(irradFileName))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -203,7 +203,8 @@ RenderProbeMgr::RenderProbeMgr()
|
||||||
mHasSkylight(false),
|
mHasSkylight(false),
|
||||||
mSkylightCubemapIdx(-1),
|
mSkylightCubemapIdx(-1),
|
||||||
mCubeMapCount(0),
|
mCubeMapCount(0),
|
||||||
mDefaultSkyLight(nullptr)
|
mDefaultSkyLight(nullptr),
|
||||||
|
mUseHDRCaptures(true)
|
||||||
{
|
{
|
||||||
mEffectiveProbeCount = 0;
|
mEffectiveProbeCount = 0;
|
||||||
mMipCount = 0;
|
mMipCount = 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue