give proper credits to at least a few people
separate shader loading into something that doesn't make you want to gauge your eyes out