Nun ja, es ist generell so dass Shader auf Levelgeometrie ruckeln, da hilft auch ein Rumbasteln am Code nicht weiter. Ich empfehle dir deshalb, Shader nur auf Modelle anzuwenden bzw. auch deine Innenräume aus Models zu bauen.
Die Reaktion auf dynamische Lichter hingegen sollte durchaus mithilfe des Codes zu machen sein, da ich aber zur schmarotzenden Sorte der nix-von-shadern-versteher-aber-trotzdem-benutzer gehöre, kann ich dir in diesem Punkt nicht weiterhelfen.