Eigen::Matrix4f GetReflectionMatrix()

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;
  }