Is there a way to perform a ray cast as described in Gino Van Den Bergen's
Ray Casting against General Convex Objects, against spherically extended objects without having to calculate support points for the enlarged objects? With GJK you can adjust the termination condition to account for the slightly expanded objects, but what about Gino's ray cast algorithm?
Specifically, would adjusting this (from page 11):
Code: Select all
while (v.squaredMagnitude() > epsilon*epsilon) {...}
To read like this:
Code: Select all
while (v.squaredMagnitude() > epsilon*epsilon + margin) {...}
... be enough to produce results equivalent to a ray cast against the CSO of a pair of spherically extended objects?
The goal is to use Gino's ray cast algorithm to determine collision time, and regular GJK (without EPA) to determine witness points and collision normals for the [near] collision. I'd rather avoid computing support points for the expanded objects if possible.