Толщина линии Direct3D, с немного другим взятием - PullRequest
0 голосов
/ 12 мая 2011

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

По крайней мере, я так думал, пока не попытался реализоватьтолщину линий, отображая прямоугольники вместо линий и обнаружив, что они потеряли детали и в конечном итоге стали невидимыми, когда я уменьшил масштаб;в то время как типы примитивов линий гарантированно всегда имеют ширину 1 пиксель независимо от масштаба.

Я создаю средство просмотра AutoCAD, для которого линии являются довольно скрепленным объектом и должны поддерживать толщину;но независимо от уровня масштабирования всегда должен быть как минимум один пиксель в ширину.

Может кто-нибудь предложить стратегию для достижения этой цели;в идеале корректировка настроек рендеринга, а не разработка, если он должен рендерить линии вместо прямоугольников?

[Edit] Должен был упомянуть;это Direct3D 9 в .Net через SlimDX.

1 Ответ

0 голосов
/ 21 июня 2011

Самый простой подход, который я могу придумать, состоит в том, чтобы визуализировать линии как простые четырехугольники в 2D, и чтобы пиксельный шейдер записал значение oDepth, содержащее правильную глубину трехмерной перспективы.

...