1. A non-transitory computer-readable medium storing computer-executable code for generating visual effects, the non-transitory computer-readable medium comprising: code for receiving a first image and second image; code for receiving a smoothed image generated in response to applying an edge-preserving smoothing filter to the first image; code for receiving an orientation angle image generated in response to applying an orientation filter to the second image; code for receiving a fine detail image generated based on the smoothed image and the first image; code for receiving a brush stroke image generated in response to diffusing the fine detail image according to the orientation angle image; and code for generating a third image in response to combining the brush stroke image with the smoothed image.