   Do I need shaders?
  What is the difference between animating a 3d object and using shaders?I looked at some examples of shaders but I could do those things with the regular 3d animation.   
  The thing that I found useful when first learning about shaders is that the term "shader" is something of a misnomer. To really understand what shaders do, and how best to use them, you need to first understand something about the graphics pipeline. In its simplest form, something is done to the vertices to put them in the right position. Once the vertices are in their location (and transformed to fit the correct space), rasterization occurs. This is referred to as the fixed-function pipeline. Again, this is a VERY simplified explanation, more in depth ones can be found on the web.Shaders allow you to perform all sorts of calculations yourself at different points along the graphics pipeline from within the graphics hardware. So instead of a fixed-function pipeline, it becomes more dynamic. What this would mean for animation is that where before your calculations were done on the CPU (calculate the amount to move [cpu based], construct transformation [cpu based], push transformation on the stack [gpu], update [cpu/gpu], they can now all be performed on the GPU, which has optimized hardware to perform vector/matrix calculations performed in software on the cpu. This means much faster processing of vertices. The other reason to use shaders, is that more than one vertex can be processed at one time! Several cards have 8 vertex pipelines, meaning 8 vertices can be processed each cycle. This allows for much better frame rates than processing one vertex at a time on a cpu.So, for animation specifically, what is the difference? Like I said, I find "shaders" to be a misnomer, as it makes people think only of lighting calculations. You have two choices for animating your models: use the cpu to figure out how to transform each vertex of your model, and then apply that transformation to your stack using the fixed-function pipeline, or use shaders which harness the power of the gpu to do calculations, rather than the cpu, and allows more than one vertex to be processsed each cycle.I hope that helps to clear it up some. Personally, I would reccommend using shaders, as there is somewhat of a push to drop the fixed function pipeline support altogether from graphics hardware. Might as well learn how to do everything with shaders (or a better term, programmable graphics hardware), now.   ;  Hmmm... your question is a little unclear because there are a lot of things that you can do with shaders that you can not do with 3D animation (and things that have nothing to do with 3D animation).  Since you are referring to animation, I will assume that you are referring to vertex shaders.  In which case yes, generally anything you can do in a VS you can do on the CPU.  The graphics card however is specialized to do what it does well, and thus will probably do it much, much faster (hence moving animation into the vertex shader).  As for pixel shaders, there's no CPU equivalent for these (short of reading back the frame and processing on the CPU very, very slowly), and that allows us to do wonderful things like reflection, refraction, bloom filters, glows, and all those other pretty eye candies that everyone craves so much.  Hope that clarifies.   ;  If your animation is based on key-frames, then shaders can be used to "fill-in-the-gaps", so that they will smoothly animate between the frames.  So basically you dont NEED shaders, but if you want smooth transitions between one frame to the next (based on time), then shaders (vertex) are the tool for it.   