Added the ability to use custom shaders and world matrix.