It just puts materials together by, base material first - The objects actual property reflectance, Being whether it steel of concrete.
Layers on top of that, any scratches and chips, before paint goes on,
Then the Paint layer if your material is painted.
then does scratches in paint. Then adds dust and grunge on top of that.
Just keep layering your effects this way, and you can do this in GIMP, but your will have to keep it simple. Quixels uses 100's of layers and masks for smart material, and keeps track of it for you and ordered,.
Where as in GIMP you need to create your own layers and masks to achieve this. But Still can be done. Bond1 has been doing this for a while and I remember his lessons from classic FPSC.
Now I thing Substance Painter is its own interface, and independent of Photoshop. They use the substance material in there texture painter. It is a cool program also for this. Check it out also.
Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 Mhz, 4 Core(s), 4 Logical Processor(s), 8gb RAM, Nvidia gtx660, Windows 7 Pro 64bit