Is it relatively easy to tweak shader values in realtime. And if so whats the best method to do this, and what are the limitations. I would like to be able to tweak ambient, specular, diffuse, phong, tiling, etc. with a custom inteface i've built. What sort of variables do i need to make for this and how do I tie them all into the code?