Exemple #1
0
        public RayDifferential TransformRayDifferential(RayDifferential r)
        {
            RayDifferential tr;

            if (!_actuallyAnimated || r.Time <= _startTime)
            {
                tr = _startTransform.TransformRayDifferential(r);
            }
            else if (r.Time >= _endTime)
            {
                tr = _endTransform.TransformRayDifferential(r);
            }
            else
            {
                Transform t;
                Interpolate(r.Time, out t);
                tr = t.TransformRayDifferential(r);
            }
            tr.Time = r.Time;
            return(tr);
        }