Make a new document, 1000x1000 pixels, white background
1. Create a new document. Rename the background layer to "BG". Press CTRL + D to reset the colors.2. Now select your gradient tool with these settings:(click image to enlarge)3. Now make a bunch of different gradients. It doesn't matter the specific way or how many you make, just go crazy and make something that looks like this:4. Duplicate this layer. Call it "WAVE" and go Filter > Distort > Wave. Use the default settings and press the "Randomize" button until you get something you like. Now set the blending options on this layer to "Lighten". Now Press CTRL + E to merge these two layers.5. Repeate Step 4 about 2 or 3 times, or untill you get something you're happy with.6. You can add twirl to your image by going to Filter > Distort > Twirl.7. You can give your image a cool polar coordinate effect by going to Filter > Distort > Polor Coorinates and choose Polar to Rectangular. Make sure you're duplicating your layer before you add these effects, and you can play around with different blending modes if you wish. You can get some pretty nice effects.8. Well, you're done. Here's my final product:
Get the flag you want and add it to the newly created document on a new layer, on a new document.
Now CTRL+Click on the flag layer thumbnail to get the selection of the flag and make a new layer above it. On this new layer, apply a gradient like mine.
Your image should look like this, with these layers:
Now set the gradient layer on Multiply mode and merge it with the flag layer. Your image should look like this:
Now deselect and go to Filters>Liquify. These are my settings. Now with the brush drag the dark sides of the flag down and the whiter portions up or inverse. It will need a little practice to get it right. Your image in the liquify filter should look like this:
Now hit OK. Your flag is made. But let's add some more: Hit CTRL+T to enter the free transfer mode then go to distort and distort it's shape as you like.