Using Blender as a texture painting tool?

I’ve recently saw this amazing piece of software: https://www.youtube.com/watch?v=_bsS-EKdr1Y

And i’m curious if there is a way to configure Blender to work like this. I mean, being able to paint directly on normals, then switching to diffuse, etc.