Okay... I'm going to make this clear, and anyone else reading this thinking about using shader PAY ATTENTION to what I say.
Unless you understand how Shaders work, leave them the hell alone!
Alright you might be sitting there thinking, 'well how am I suppose to learn these fancy new effect if I can't use Shaders?'
Quite simply put, Shaders were NEVER designed for people like you.
They were designed as a way to give artists and programmers *direct* hardware access allowing them to program thier game effects *directly* onto the Graphics Card for a speed boost.
They were not designed for Teenagers using a BASIC Language, as such I would wager a very-very large portion of people in this forum (this actually includes the TGC Team) are fumbling through Shaders not 100% sure of what they're doing.
In order to use them you not only have to understand A-Level Mathematics (College Math Degree Level), but you also have to have an understanding of how it will affect your image not just in a 2D but 3D Environment.
If you CANNOT figure out how to do an effect using Standard Coding, then using a Shader is a waste of time! Simply because you won't even be able to come close to producing it within it.
HLSL is C-Style Programming (this is the language commonly used), ShaderASM is Assembly-Style Programming...
NEITHER OF THESE ARE LANGUAGES DESIGNED FOR PEOPLE WHO CAN'T COMPREHEND THEM.
Although it noted 'how can you learn something if your never taught?' when your ready to use this stuff, You Won't Need To Be!
Right now Shaders for most of this community are about as useful as giving everyone direct access to directx object data.
It would be fantastic for that 1% of the forum that actually understands how the hell to use it... for everyone else though we'll see 600 topics of them asking to achieve things with the Z-Buffer which are completely pointless.
Like 'How can I use the Z-Buffer to Visually Cull my object?'
Take the time to sit down and figure out how to do things with the ridiculously simplistic command set that Dark Basic Professional has before you think a Shader is the best course.
You fancy trying to alter the movements of limbs based on older limb data in order to give a nice swaying branch using the Vertex Shader, then go right ahead.
I'll tell you know what you need is a Model-View Matrix, Project-View Matrix, the Original Vector of the branch Vertex, the Directional Vector of the branch Vertex as well as a nice Fall-Off based CosSin which will affect the Vertices based on an Origin Point.
Oh yeah I almost forgot you'd also need another routine to make sure that the tree keeps it's shape by maintaining a distance from it's other vertices, so probably need a second pass for the shader with that data.
Personally, I think until Lee actually has the Shader working *exactly* how they do in DirectX9, people should leave them the hell alone unless they know what they're doing.
There is no damn reason for anyone here to actually use them yet, because in order for them to be useful you also need to understand the art of optimisation because DBP will not do this for you.
I mean this is all just like RayTracing Alogorithms. When you first do it you think 'YAY!' problem is there are no 'practical' uses for it because it's too slow.
You want a do something like a scene glow? Render the objects you want to glow, greyscale the textures, blur... then blend back with the final render.
How do you render some objects whilst not others? Simply hide/show objects.
You want to create reflective water? Use the stencil based Reflection Shading, on every card it will be 3-4x faster than if you used a Shader for the same effect because the Stencils are highly optimised now. For the water itself use a CosSin to alter the pattern of waves.
What if you want it semi-transparent? Ghost the texture you use.
And real-time lighting? Edit the Normals, or take the image texture and a normal map and take the vector direction from that, -(Dot3(Normal,Light Point)) to give you the new normal and export the new normals out to the map which you can then use Image Blend 24 to display. (well actually it should be 24 but thats buggy, try 2 instead)
I could go on for a good hour or two overviewing how the hell to do most effect using built-in dbp commands... but I'm not here to tell you how the hell to do things, your here to learn and discover. To figure this stuff out on your own.
Pick-up a damn math book and figure it out on your own, because no one is going to hand you exactly what you want on a silver platter and quite frankly it is rude to believe that it is our obligation to do so.
People are willing to help you and point you in the right direction, but we're not here to hold you damn hand!