libIGL странная штриховка на гранях сетки

Я использую libIGL для генерации тет-сетки, и хотел бы визуализировать эту сетку с помощью цветов. Каждая вершина имеет свое значение (результат использования графа лапласиана для минимизации квадратичной энергии), и эти значения были преобразованы в цвета с использованием igl::jet, Я хотел бы «нарезать» мою тет-сетку при разных значениях z, и следовал Пример 605 сделать это.

Когда это визуализируется, цвета все в порядке, но затенение все неправильно (как видно на рисунке ниже). Есть ли (простой) способ исправить затенение? Я пытался использовать оба bfs_orient а также Эмбри :: reorient_faces_raycast но безрезультатно.

окрас тетемеш со странной штриховкой

Чтобы воспроизвести проблему, просто строки 52-54 примера 605 должны быть:

    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?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]