18097Fermer18099
bearbecueLe 08/08/2011 à 10:24
if (traceResults.m_ContactObjects_Aligned16[i] != null) // if something was hit
{
if (g_ModuleConfigDebugHUD->ShowTracedDepth())
{
float depth = HHClamp(255.0f - 255.0f / (1.0f + traceResults.m_HitTimes_Aligned16[i] / 20.0f), 0.0f, 255.0f);
color = CFloat3(depth);
}
else
{
// cache GetDynamicState() it across pixels, we're likely to hit the same object multiple times
if (traceResults.m_ContactObjects_Aligned16[i] != tObj)
{
tObj = traceResults.m_ContactObjects_Aligned16[i];
tObj->GetDynamicState(dState);
}

CFloat3 contactNormal = dState.m_GlobalTransforms.RotateVector(traceResults.m_ContactNormals_Aligned16[i].xyz());
color = contactNormal * 120.0f + 127.5f;
}
}