   simple way to handle directx shaders?
  ive just left ogl and started with d3d... one more problem that ive encourred is how shaders work in directx... the shaders require very much code and makes the code hard to follow... u have to create and initialize a handle for every variable, then use the name of the handle and not the variable to send values to the shader... u have to both "begin" the shader and "beginpass" which adds even more to the complexity.. specially when using several smaller shaders with only one pass...how do i keep track of everything in the best way? i mean if i have for example 6 different shaders with each 5 variables... thats ALOT of handles to keep track of and makes the code pretty ugly...do i create a shader class or can i skip the handles and set the handle retriaval into the variable sending function... or some other way?thx for any advice   
  only jsut starting with shaders myself but why dont you keep an std::vector of them and just loop through each one   ;  In my engine I have a method for material effects and one for post processing effects. I figured that materials would all take about the same parameters: matrices, material, light characteristics, and textures. Then you just call the same method for each shader, passing a different ID3DXEFFECT to the method each time. This makes it A LOT simpler.However, if you do this, you will have to have the same set of variables in all of your shaders or there will be a problem but I thought that would be good anyway.   