Scaling correction to probes in deferred mode to improve parallax adjustment

Ensure that probes are masked to be rendered during bake passes so they can contribute during a bake allowing multibakes
Adjusted order of the connect data for the forward shaders to fix a mis-port issue
This commit is contained in:
JeffR 2022-02-13 19:24:01 -06:00
parent c1a88ec423
commit e04f844240
4 changed files with 4 additions and 4 deletions

View file

@ -229,7 +229,7 @@ enum SceneObjectTypeMasks : U32
EnvironmentObjectType ),
SKYLIGHT_CAPTURE_TYPEMASK = (EnvironmentObjectType),
REFLECTION_PROBE_CAPTURE_TYPEMASK = (StaticObjectType | StaticShapeObjectType)
REFLECTION_PROBE_CAPTURE_TYPEMASK = (StaticObjectType | StaticShapeObjectType | LightObjectType)
};
#endif

View file

@ -328,7 +328,7 @@ void RenderProbeMgr::getBestProbes(const Point3F& objPosition, ProbeDataSet* pro
MatrixF p2A = curEntry.mProbeInfo->mTransform;
probeDataSet->probeWorldToObjArray[i] = p2A;
p2A.inverse();
probeDataSet->refScaleArray[i] = curEntry.mProbeInfo->mProbeRefScale / p2A.getScale();
probeDataSet->refScaleArray[i] = curEntry.mProbeInfo->mProbeRefScale / (p2A.getScale()*2);
Point3F probePos = curEntry.mProbeInfo->mObject->getPosition();
Point3F refPos = probePos + curEntry.mProbeInfo->mProbeRefOffset * probeDataSet->refScaleArray[i].asPoint3F();

View file

@ -2960,9 +2960,9 @@ void ReflectionProbeFeatGLSL::processPix(Vector<ShaderComponent*>& componentList
MultiLine * meta = new MultiLine;
// Now the wsPosition and wsView.
Var *wsPosition = getInWsPosition(componentList);
Var *worldToTangent = getInWorldToTangent(componentList);
Var *wsNormal = getInWorldNormal(componentList);
Var *wsPosition = getInWsPosition(componentList);
Var *wsView = getWsView(wsPosition, meta);
//Reflection Probe WIP

View file

@ -3038,9 +3038,9 @@ void ReflectionProbeFeatHLSL::processPix(Vector<ShaderComponent*> &componentList
MultiLine *meta = new MultiLine;
// Now the wsPosition and wsView.
Var* wsPosition = getInWsPosition(componentList);
Var* worldToTangent = getInWorldToTangent(componentList);
Var *wsNormal = getInWorldNormal(componentList);
Var* wsPosition = getInWsPosition(componentList);
Var *wsView = getWsView(wsPosition, meta);
//Reflection Probe WIP