Corrections to make it use the correct transform, as well as passing along the scale as our extents in the bbMax.

Adjusts the box influence logic to try the bsf method.
This commit is contained in:
Areloch 2019-03-18 00:14:06 -05:00
parent 3afbdff871
commit 2bf67f7fa5
5 changed files with 65 additions and 188 deletions

View file

@ -556,19 +556,24 @@ void ReflectionProbe::updateProbeParams()
mProbeInfo->mProbeShapeType = mProbeShapeType;
mProbeInfo->mTransform = getWorldTransform();
MatrixF transform = getTransform();
mProbeInfo->mPosition = getPosition();
if(mProbeShapeType == ProbeRenderInst::Sphere)
if (mProbeShapeType == ProbeRenderInst::Sphere)
mObjScale.set(mRadius, mRadius, mRadius);
transform.scale(getScale());
mProbeInfo->mTransform = transform.inverse();
// Skip our transform... it just dirties mask bits.
Parent::setTransform(mObjToWorld);
resetWorldBox();
mProbeInfo->mBounds = mWorldBox;
mProbeInfo->mExtents = getScale();
mProbeInfo->mRadius = mRadius;
mProbeInfo->mIsSkylight = false;