我正在使用 libIGL 生成一个 tet 网格,并想用颜色可视化这个网格。每个顶点都有不同的值(使用 Graph Laplacian 最小化二次能量的结果),这些值已使用igl::jet
. 我想以不同的 z 值对我的 tet-mesh 进行“切片”,并按照示例 605进行操作。
当这被可视化时,颜色是正确的,但是阴影是错误的(如下图所示)。有没有(简单的)方法来修复阴影?我试过同时使用bfs_orient和embree::reorient_faces_raycast无济于事。
要重现该问题,只需将示例 605 的第 52-54 行变为:
Eigen::VectorXd C = V_temp.col(2);
Eigen::MatrixXd Col;
igl::jet(C, true, Col);
viewer.data.clear();
viewer.data.set_mesh(V_temp,F_temp);
viewer.data.set_colors(Col);
viewer.data.set_face_based(false);
编辑:我可以通过添加关闭照明
viewer.core.lighting_factor = 0;
生成的图像是: 但是,这没有任何照明,我不禁觉得有更好的方法可以保留照明。也许是暴露了 OpenGL_Shader 的东西?