Сперва нужно разобраться как рисуются разные фигуры вообще.
Все отрисовывается из треугольников называемые полигонами, из них можно получить любую фигуру, например прямоугольник это два треугольника, а круг это множество треугольников из центра (как пицца), при этом чем больше треугольников, тем детализирование получается круг.
Закругленные прямоугольники имееют на каждом углу 1/4 круга, соответственно можешь представить насколько это ресурсозатратно рендерить.
Теперь сам вопрос, ты можешь либо сгенерировать всю эту геометрию описав вершины (что займет много времени), либо перестать заниматься фигней рендеря через сырой DirectX и взять фреймворк который может рендерить на разных бэкэндах, например в imgui неплохая система отрисовки, изучай ImDrawList, там есть все нужные тебе функции. (C)
@Debounce
Посмотреть вложение 182904