Каркас / Сшивание линий

#three.js

#three.js

Вопрос:

Я пытаюсь разрешить некоторые сшивания при использовании сетки в режиме каркаса и некоторых строк, представленных в тех же координатах, что и сетка. Идея в том, что они используются для двух режимов представления одних и тех же данных в моем программном обеспечении.

Я создал jsFiddle для целей тестирования: http://jsfiddle.net/Ludobaka/c0tq3gd0 /

Я уже пробовал некоторые советы из тем ThreeJS здесь, как :

  • Использование порядка отображения из ТРЕХ.Сетка для рендеринга моего каркаса в первую очередь и с использованием depthFunc из ТРЕХ.Материал с ТРЕМЯ.Меньшая глубина для линейного представления.
  • Использование свойства polygonOffset из ТРЕХ.Материал сетки, подобный следующему коду :

     mat.polygonOffset = true;
    mat.polygonOffsetFactor = 1.0;
    mat.polygonOffsetUnit = 4.0;
      

    Но это выглядит так, потому что каркас использует GLContext.ЛИНИИ, на это не влияют эти свойства.

Я хочу, чтобы мой каркас всегда был поверх линий. Знаете ли вы другой способ продолжить?

Спасибо

Комментарии:

1. Является jsfiddle.net/c0tq3gd0/3 удовлетворительно?

2. Я уже думал об этом, но у меня могут быть некоторые объекты между камерой и каркасом, и я хочу, чтобы каркас был скрыт в этом случае. Но спасибо за помощь! Я читал, что threejs r83 получит onBeforeRender и onAfterRender для Object3D. Я думал о реализации смещения значения глубины в матрице проекции только для линий, как описано в Mathematics for 3D Game Programming and Computer Graphics 9.1. Я обновляю свой ThreeJS rev, и я постараюсь дать решение здесь, если кому-то еще придется решать ту же проблему 😉

3. Важно, чтобы вы указали все свои требования в своем вопросе и в своей скрипке.