Esto es CSG - Geometría sólida constructiva (aunque en este caso, es destructivo, estrictamente hablando), si desea investigar más sobre cómo funcionan realmente los algoritmos.
El enfoque estándar es usar las dos mallas existentes A y B (la casa y el volumen de "explosión" sustraído) para generar una tercera "malla" (gráfica) donde las dos mallas se cruzan planos y bordes, C, que describe el área que comparten. En 2D:
/ \
/ \
/ A \
| |
| /-|-\
| |C| |
--- ----- | ------- G
| B|
\---/
A es la casa, B es el volumen de la explosión, C es el área de unión / intersección entre A y B. G es el suelo.
La matemática / lógica detrás de esto no es trivial, ya que hay muchos casos extremos con los que lidiar y la mitad o más de esta tarea solo reconoce cuáles de los posibles tipos de gráficos de resultados son casos especiales que deben ser atendidos en el código. He visto el problema descrito por los veteranos en gamedev.net como "un problema muy difícil" y puedo decir que al intentarlo en 2D, incluso, y tener un grado moderado de éxito donde solo fallan un par de casos extremos, que no es una tarea pequeña
Una forma que podría ser más fácil es usar un algoritmo de descomposición de polígonos y usar la geometría que crea como base para la destrucción de su geometría.