added visibility shader, can render with it

code needs reorganization