fixed path handling in shader loading