This paper introduces a new algorithm that renders motion blur using triangular motion paths. A triangle occupies a set of pixels when moving from a position in the start of a frame to another position in the end of a frame. This is a motion path of a moving triangle. For a given pixel, we use a motion path of each moving triangle to find a range of time that this moving triangle is visible to the camera. Then, we sort visible time ranges in the depth-time dimensions and use bitwise operations to solve the occlusion problem. Thereafter, we compute an average color of each moving triangle based on its visible time range. Finally, we accumulate an average color of each moving triangle in the front-to-back order to produce the final pixel color. Thus, our algorithm performs shading after the visibility test and renders motion blur in real time.