If the roof is a simple geometry (like a single block) using just one material, then another solution would be using the rayswtich material to store the original material in reflect, refract, and gi slots, and leaving the direct visibility slot empty.