   Starting with DirectX Shaders
  I've read that some current DirectX concepts such as materials and fogging are to be made obselete in DX10 onwards in favour of shaders. I've not done any work with shaders before, but I'd say I have a intermediary knowledge of much of the rest of DirectX. Can anyone recommmend any online tutorials / articles or books to someone trying to learn this specific subject?Thanks. :)   
  Hi,I recommend some books.From Frank Luna:Introduction to 3D Game Programming with DirectX 9.0cIntroduction to 3D Game Programming with DİrectX 9.0c: A Shader ApproachIntroduction to 3D Game Programming with Direct3D 10.0From Wolfgang Engel:Direct3D ShaderX: Vertex and Pixel Shader Tips and TricksThe Complete Effect and HLSL Guide;  Hmmm.... irrespective of whether anything is obselete in any API, the concepts and understanding that you learn from these are invaluable.I suggest that you try out basics such as rendering basic geometry using shaders and moving onto effects and then normal mapping and the likes.The ShaderX Books are awesome, but like I said... I tend to try and steer away from books to learn from because I have a different method of learning... I setup a project for myself and use the technology that I want to.Choose the best approach for yourself.Good luck!   ;  The DirectX SDK documentation still includes the formulas that the fixed-function pipeline uses for fog calculations.Essentially, it involves two things:-Determine the fog density. This is usually a function of the distance of a given point from the view plane (in case of planar fog) or from the camera (spherical fog), and more often than not the actual function is max(1, distance2). -Interpolate between the original color and the fog color, using the fog density as a parameter.The distance should be normalized so that the maximum distance value corresponds to the maximum density point of the fog that you want.These steps are quite easy to calculate in either vertex or pixel shader, depending on your needs.   