in ReplicaSDK/include/MirrorRenderer.h [129:137]
Eigen::Matrix4f GetReflectionMatrix(const MirrorSurface& surface) {
Eigen::Vector3f n = surface.Equation().head<3>();
float d = surface.Equation()(3);
Eigen::Matrix4f m;
m << 1 - 2 * n(0) * n(0), -2 * n(0) * n(1), -2 * n(0) * n(2), -2 * n(0) * d, -2 * n(0) * n(1),
1 - 2 * n(1) * n(1), -2 * n(1) * n(2), -2 * n(1) * d, -2 * n(0) * n(2), -2 * n(1) * n(2),
1 - 2 * n(2) * n(2), -2 * n(2) * d, 0, 0, 0, 1;
return m;
}