2016-04-17 4 views
2

Я новичок в WebGL и OpenGL. Я работал с библиотекой OpenGL в другом месте, что дает мне возможность выбрать, как моя геометрия «нарисована». Например, я могу выбрать треугольники, квадратики, линии, точки и т. Д.Есть ли способ изменить способ геометрии рисуется в Three.js?

Мой вопрос: на основании моих исследований до сих пор Three.js удалила вариант для квадов из-за проблем с рендерингом. Существуют ли другие варианты того, как рисуются геометрические фигуры?

Вот график, иллюстрирующий то, что я имею в виду: http://www.opentk.com/files/tmp/persistent/opentk/files/GeometricPrimitiveTypes.gif

ответ

1

Полигоны и квадроциклы в значительной степени бесполезны, потому что ваш типичный растеризации (программное обеспечение или GPU) может иметь дело только с выпуклыми, планарных примитивов. Легко построить квадрат или многоугольник, который является вогнутым или не копланарным, или и тем, и другим. Следовательно, четкие и многоугольники были удалены из современного OpenGL. Треугольники в любой форме безопасны, хотя треугольник не может быть вогнутым или не копланарным.

+0

Как насчет других примеров, перечисленных здесь? http://www.opentk.com/files/tmp/persistent/opentk/files/GeometricPrimitiveTypes.gif – rpeg

+1

@rpeg: треугольники и вентиляторы не проблема, потому что GPU будет видеть только отдельные треугольники для растеризации (геометрия и тесселяционные шейдеры «видят» полосу или вентилятор, но им это неинтересно, потому что они заботятся только о вершинах, а не о заполнении). Линейные полосы и петли не являются проблемой, как точки. Короче: все, что можно разбить на четыре треугольника, простые линии или точки, не проблема. Квадраты и многоугольники не могут быть разбиты однозначно, поэтому они удалены. – datenwolf

+0

Удивительная благодарность. – rpeg

Смежные вопросы