separated basic drawing, lighting and visible area drawing into functions