Рисование скругленного прямоугольника в DirectX / 3D для 2D - PullRequest
0 голосов
/ 02 января 2011

Я использую Direct3D для рисования 2D-элементов в моем приложении на C ++, и было бы неплохо, если бы я мог создавать GUI-элементы с закругленными прямоугольниками различного размера, но я не уверен, как это сделатьнаиболее эффективным из возможных способов.

Я подумал о «простом» способе, который состоял бы в том, чтобы получить изображения четырех углов, а затем просто поместить их в правильные положения и заполнить остальные, но с разными радиусами.поскольку углы прямоугольника были бы определенным плюсом, и этот метод не совсем подходит для этой функции.

В ходе моих поисков я наткнулся на термины Pixel Shader, Stencil Buffering и HLSL, ноне уверен, актуальны ли эти термины, и в каком из них следует перейти, если это так.

Заранее спасибо,
Jengerer

1 Ответ

1 голос
/ 02 января 2011

В идеале вы должны создать 9 полигонов, разделив квадрат вверх.Затем 9 изображений рисуют углы / стороны / центр, и вы можете масштабировать его по своему усмотрению.

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

...