Рисование краев в X3DOM

В моем проекте я загружаю файлы x3d во встроенный тег, чтобы отображать их в веб-браузере с помощью X3DOM.

Файлы x3d создаются с помощью Catia, в которой мы можем видеть ребра между вершинами.

После экспорта края больше не прорисовываются, а хотелось бы, чтобы были.

Есть ли какой-нибудь вариант или способ их нарисовать? эстетика имеет значение...


person Knive    schedule 10.06.2015    source источник


Ответы (1)


X3D/X3DOM по умолчанию использует предположение, что ребра вершин являются частью приближения цифровой модели к физическому объекту. Это делается с помощью параметра creaseAngle на некоторых узлах (например, IndexFaceSet) и уравнений освещения (определенных на http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/lighting.html#Lightingequations).

Изначально я бы удостоверился, что creaseAngle имеет значение 0 для всех узлов, где вы хотите видеть край. Это не подчеркнет края, но они будут более заметны. Если этого уровня видимости недостаточно, вам потребуется написать шейдер (код OpenGL) для получения желаемого эффекта.

Пример кода шейдера приведен по адресу http://examples.x3dom.org/example/x3dom_composedShader.xhtml. ; через это, вероятно, не тот шейдер, который вы ищете.

person Daly Realism    schedule 10.06.2015
comment
Спасибо за ваш ответ, я провел небольшое исследование и хочу воспроизвести режим затенения с краями, и я думаю, что мне действительно нужно написать шейдер, еще не изучал его, но что ж, давайте попробуем! Функция Edge Rendering для тех, кто хочет сделать то же самое! - person Knive; 11.06.2015