libIGL网格面上的奇怪阴影

时间:2016-06-15 18:39:49

标签: c++ opengl shading libigl

我正在使用libIGL生成tet-mesh,并希望用颜色可视化这个网格。每个顶点具有不同的值(使用图拉普拉斯算子最小化二次能量的结果),并且这些值已使用igl::jet转换为颜色。我想在不同的z值下“切片”我的tet-mesh,然后按Example 605进行操作。

当这是可视化时,颜色是正确的,但阴影是完全错误的(如下图所示)。是否有(简单)方法来修复阴影?我尝试过使用bfs_orientembree::reorient_faces_raycast都无济于事。

coloring of tetmesh with strange shading

为了重现该问题,仅将示例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;

生成的图像是: image with dating turned off 然而,这没有任何照明,我不禁觉得有一种更好的方法可以保护照明。也许暴露OpenGL_Shader的东西?

0 个答案:

没有答案