There are some very important uses of raytracing in highend CGI, but in every case, it is a very limited, speed-oriented application, instead of full-blown raytracing.
Examples are:
- Ambient occlusion; used to calculate the very soft shadowing effect on ambient light sources. It can replace some aspects of global illumination.
It basically shoots out a number of rays from randomly distributed points on the object's surface, and checks if they reach another surface within a certain range. The percentage of rays that hit something defines how much of the ambient light is occluded out at the given point.
- Reflection occlusion; used to calculate where the enviroment's reflections are blocked out by the object itself. It replaces full-blown raytraced blurry reflections (a simple enviroment map is used instead).
It kind of takes the object as completely black, and the enviroment as completely white, then calculates a blurry reflection. Where the object reflects itself, and thus occludes the enviroment, it'll be black, the rest remain white; this image is then used to mask the reflection on the object. Reflection occlusion is view-dependent.
- Subsurface scattering; the effect of light bouncing around inside an object. Quite complicated, compared to the other two...
As far as I know there's no way to fully replace these effects without raytracing; but 'fake' effects are already developed for realtime renderers.