MeshLab normalmap

В предыдущей версии (1.3.3) Meshlab при выборе Render- > shaders- > normalmap нормальная карта со знакомым сине-фиолетовым цветом отобразила бы правильную нормальную карту: введите описание изображения здесь В текущей версии (2016.12) нормальная карта не отображается, только наложение текстуры: введите описание изображения здесь введите описание изображения здесь Как показать нормальную цветовую палитру в текущей версии?

Ответ 1

Хотя в Render -> Shaders есть предопределенный шейдер с именем "normalmap", он не будет отображать модель по вашему мнению ( "знакомая сине-фиолетовая цветовая палитра" ).

Но вы можете изменить эти шейдеры, чтобы достичь того, что вы ищете.

  • Сделайте резервную копию следующих файлов. Вы можете найти их в C:\Program Files\VCG\MeshLab\shaders или везде, где вы установили meshlab

    • normalmap.vert
    • normalmap.frag
  • Отредактируйте вышеуказанные файлы следующим образом. Вы можете оставлять комментарии.

    • normalmap.vert

      varying vec4 baseColor;
      void main(void)
      {
          gl_Position = ftransform();
          baseColor = vec4(gl_Normal, 1.0);
      }
      
    • normalmap.frag

      varying vec4 baseColor;
      void main(void)
      {
          gl_FragColor = baseColor;
      }
      
  • В меню Render выберите Render -> Shaders -> normalmap.gdp

    8STiY.png

  • Иди сюда! Но помните, что это очень простой шейдер, чтобы показать нормальную карту. Если вы хотите осветить и другие эффекты, вам придется дополнительно редактировать шейдеры.