Вопрос Как нарисовать круг в Дх11

Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
наверн не буду тебя дергать больше, ну я правда не могу объяснить человеку, что из-за 1.5 инвалидов, которые до сих пор не перешли хотя бы на с++17 плохо иметь столько легаси кода
Я понимаю, что легаси код это не круто, сам сейчас работаю исключительно на C++20, но опять таки - в доминирующем количестве крупных компаний, работающих с плюсами не используются современные стандарты, просто потому что они уже заложники легаси кода и им придется потратить огромное количество денег и человеческих ресурсов, чтобы переписать весь их легаси код под современные стандарты, разработчик имгуи нацелен же на то, чтобы у него было как можно больше спонсоров(и его нельзя за это упрекать, любой труд должен быть оплачен)
 
Nike.lua
Олдфаг
Статус
Оффлайн
Регистрация
13 Окт 2020
Сообщения
2,747
Реакции[?]
1,465
Поинты[?]
2K
ну код имгуи очень костыльный и не соответствует современными стандартам с++. например, в местах где можно было использовать реализации из стандартной библиотеки, придумываются свои врапперы
Пожалуйста, авторизуйтесь для просмотра ссылки.

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

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

про юи, инпут говорить не приходится, как и про всякие мелочи, как typedef'ы вместо using, typedef int для енумов, вместо нормального менеджмента файлов, NULL вместо nullptr
Ну и юзай свой директх икс 11, а мы мужики будем юзать имгуе с говном внутри кода, матеря всех и вся из за того, что не умеем рисовать на дх11!!!
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
Ответь за свои слова.
Хорошо, объясняю проще.
Сейчас уже никто не рисует напрямую, писать код всей геометрии (фигур) для разных бэкэндов (DX9,DX11,VK,етц) это пустая трата времени.
Гораздо более правильным будет построить универсальную систему, и писать реализации под конечные бэкэнды, чтобы интерфейс и логика построения геометрии были общими, но сама отрисовка реализовывалась отдельно.
Самый оптимальный вариант рисовать текстурированными треугольниками (полигонами), с их помощью можно построить двухмерную геометрию любой сложности, абсолютно все фигуры и текст в том числе.
KN4CK3R в своем OSHGui пытался реализовать подобную схему, но сделал ошибку пытаясь рисовать квадратами вместо треугольников, а тот же код круга у него вообще сделан закрашиванием пикселей, что супермедленно.
Советую посмотреть в сторону IMGUI, там реализовано все что нужно для отрисовки (сам гуй не трогай).
 
На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,023
Реакции[?]
181
Поинты[?]
70K
Если актуально, то круг можно нарисовать таким образом
C++:
ImGui::GetBackgroundDrawList()->AddCircle(ImVec2(100, 100), 100, ImColor(255, 0, 0));
 
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу