Description
There are a bunch of different angles to illustrate this, but here's the most clear. The animation-handling code in The Next Week samples rays randomly over a period of time in the world. In addition, primitives like moving_sphere
are defined to have their centers specified over a time period.
Unfortunately, we use variable names like time0
, time1
, time_start
, and time_end
, which are ambiguous, and are used interchangeably to refer to the scene period and the primitive period. These should have been named something like scene_start
, scene_end
, sphere_start
, sphere_end
, and so forth. If you start renaming things like this, the cracks in the current implementation become very apparent.
We need to figure out how to resolve all this. I am inclined to hard-code the assumption that the scene will be sampled in the time interval [0,1], and primitives should be written to assume that. The entire intent of sampling in time is to illustrate things like motion blur, and the above is certainly sufficient for that.