4 ms·
You need information about the motion in order to simulate motion blur. It makes perfect sense for this to be generated by the 3D renderer rather than trying to
by zootboy 4y ago
You need information about the motion in order to simulate motion blur. It makes perfect sense for this to be generated by the 3D renderer rather than trying to guess at the motion after the fact when all you have are 2D frames.
- arboles 4y agoDoes 3D motion blur look better? The standard of realistic motion blur is probably real cameras, no? Real cameras don't need to guess the motion it's just an afterimage in a particular frame while the shutter is open.
- zootboy 4y agoI don't have any knowledge of this specific implementation, but my guess would be that it is a question of optimization. If you were to implement something similar to what's physically happening in a camera with a long exposure, you'd have to do a large number of oversamples (e.g. generate 10 sub-frames for every output frame) and merge them together. That's a ton of extra rendering. If, on the other hand, you can get the 3D renderer to generate "smeared geometry" (based on its knowledge of the motion speed, direction, and virtual shutter duration) and render each output frame once, that will get you faster render times.
- pixelbro 4y agoBit late to the party, but I can shed some light on this. Since a real camera has the shutter open for some duration, any moving light will smear across the sensor. If you similarly "smear" a path traced object by stochastically randomizing the position of the object while the path tracer is gathering samples for the frame, you get exact physically plausible motion blur without having discrete "ghosts" corresponding to sampled subframes.