Не будет примера?, а то я слегка тупенькийВычисляется круг в трехмерном мире, вернее его точки, сколько их будет зависеть от детализации.
Затем они перегоняются из 3д мира на экран (в 2д мир т.е. worldtoscreen), из них вычисляется контур (гугли convex hull).
И наконец по этим точкам просто рисуется из треугольников многогранник (для imgui смотри AddConvexPolyFilled) и по этим же точкам линия (для imgui смотри AddPolyline).
может тебе сразу отрисовку кругов вантапа скинуть?Не будет примера?, а то я слегка тупенький
В пандоре есть подобная штука, только закоменчена, хорошего поиска)Не будет примера?, а то я слегка тупенький
Давайможет тебе сразу отрисовку кругов вантапа скинуть?
был бы очень радможет тебе сразу отрисовку кругов вантапа скинуть?
void render::Draw3DFilledCircle(const Vector& origin, float radius, Color color, float fill_alpha)
{
auto prevScreenPos = ZERO;
auto step = M_PI * 2.0f / 72.0f;
auto screenPos = ZERO;
auto screen = ZERO;
if (!math::world_to_screen(origin, screen))
return;
color.SetAlpha(static_cast<int>(fill_alpha));
for (auto rotation = 0.0f; rotation <= M_PI * 2.0f; rotation += step)
{
Vector pos(radius * cos(rotation) + origin.x, radius * sin(rotation) + origin.y, origin.z);
if (math::world_to_screen(pos, screenPos))
{
if (!prevScreenPos.IsZero() && prevScreenPos.IsValid() && screenPos.IsValid() && prevScreenPos != screenPos)
{
line(prevScreenPos.x, prevScreenPos.y, screenPos.x, screenPos.y, Color(color.r(), color.g(), color.b(), 255));
triangle(Vector2D(screen.x, screen.y), Vector2D(screenPos.x, screenPos.y), Vector2D(prevScreenPos.x, prevScreenPos.y), color);
}
prevScreenPos = screenPos;
}
}
}
Есть обычный циркл, в нём можно просто альфу понизить и всё, емаётак в лв есть функция в дроу менеджере
так есть функция, которая объединяет сразу двеЕсть обычный циркл, в нём можно просто альфу понизить и всё, емаё
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz