clean up interface
update fragment shader with more uniform parameters