parent
0eba1396dc
commit
3160520249
|
|
@ -157,6 +157,11 @@ void LLHeroProbeManager::update()
|
||||||
LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("hpmu - realtime");
|
LL_PROFILE_ZONE_NAMED_CATEGORY_DISPLAY("hpmu - realtime");
|
||||||
// Probe 0 is always our mirror probe.
|
// Probe 0 is always our mirror probe.
|
||||||
mProbes[0]->mOrigin = probe_pos;
|
mProbes[0]->mOrigin = probe_pos;
|
||||||
|
|
||||||
|
bool radiance_pass = gPipeline.mReflectionMapManager.isRadiancePass();
|
||||||
|
|
||||||
|
gPipeline.mReflectionMapManager.mRadiancePass = true;
|
||||||
|
|
||||||
for (U32 j = 0; j < mProbes.size(); j++)
|
for (U32 j = 0; j < mProbes.size(); j++)
|
||||||
{
|
{
|
||||||
for (U32 i = 0; i < 6; ++i)
|
for (U32 i = 0; i < 6; ++i)
|
||||||
|
|
@ -164,6 +169,8 @@ void LLHeroProbeManager::update()
|
||||||
updateProbeFace(mProbes[j], i);
|
updateProbeFace(mProbes[j], i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gPipeline.mReflectionMapManager.mRadiancePass = radiance_pass;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -180,7 +187,7 @@ void LLHeroProbeManager::updateProbeFace(LLReflectionMap* probe, U32 face)
|
||||||
// hacky hot-swap of camera specific render targets
|
// hacky hot-swap of camera specific render targets
|
||||||
gPipeline.mRT = &gPipeline.mAuxillaryRT;
|
gPipeline.mRT = &gPipeline.mAuxillaryRT;
|
||||||
|
|
||||||
probe->update(mRenderTarget.getWidth(), face);
|
probe->update(mRenderTarget.getWidth(), face, true);
|
||||||
|
|
||||||
gPipeline.mRT = &gPipeline.mMainRT;
|
gPipeline.mRT = &gPipeline.mMainRT;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ LLReflectionMap::~LLReflectionMap()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLReflectionMap::update(U32 resolution, U32 face)
|
void LLReflectionMap::update(U32 resolution, U32 face, bool force_dynamic)
|
||||||
{
|
{
|
||||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY;
|
LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY;
|
||||||
mLastUpdateTime = gFrameTimeSeconds;
|
mLastUpdateTime = gFrameTimeSeconds;
|
||||||
|
|
@ -63,7 +63,8 @@ void LLReflectionMap::update(U32 resolution, U32 face)
|
||||||
{
|
{
|
||||||
resolution /= 2;
|
resolution /= 2;
|
||||||
}
|
}
|
||||||
gViewerWindow->cubeSnapshot(LLVector3(mOrigin), mCubeArray, mCubeIndex, face, getNearClip(), getIsDynamic());
|
|
||||||
|
gViewerWindow->cubeSnapshot(LLVector3(mOrigin), mCubeArray, mCubeIndex, face, getNearClip(), getIsDynamic() || force_dynamic);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLReflectionMap::autoAdjustOrigin()
|
void LLReflectionMap::autoAdjustOrigin()
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ public:
|
||||||
|
|
||||||
// update this environment map
|
// update this environment map
|
||||||
// resolution - size of cube map to generate
|
// resolution - size of cube map to generate
|
||||||
void update(U32 resolution, U32 face);
|
void update(U32 resolution, U32 face, bool force_dynamic = false);
|
||||||
|
|
||||||
// for volume partition probes, try to place this probe in the best spot
|
// for volume partition probes, try to place this probe in the best spot
|
||||||
void autoAdjustOrigin();
|
void autoAdjustOrigin();
|
||||||
|
|
|
||||||
|
|
@ -104,6 +104,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class LLPipeline;
|
friend class LLPipeline;
|
||||||
|
friend class LLHeroProbeManager;
|
||||||
|
|
||||||
// initialize mCubeFree array to default values
|
// initialize mCubeFree array to default values
|
||||||
void initCubeFree();
|
void initCubeFree();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue