Added (somewhat) generic shader support.