-
Автор темы
- #1
Всем привет. Подскажите пожалуйста как правильно реализовать рендер 3д круга без костылей с draw_line (например в саунд есп когда слишком много игроков - краш с жалобой на большое количество вертексов), а с обычной draw_list->AddPolyline и залитый круг draw_list->AddConvexPolyFilled.
У меня есть функция:
Подскажите, как ее переделать под draw_list->AddPolyline, пожалуйста :)
У меня есть функция:
C++:
void render::render_circle_3d(const Vector vecPosition, const int32_t iPointCount, const float_t flRadius, Color a_color, float width)
{
float_t flStep = (float_t)(3.14159265358979323846f) * 2.0f / (float_t)(iPointCount);
for (float a = 0; a < (3.14159265358979323846f * 2.0f); a += flStep)
{
Vector vecStart = Vector(flRadius * cosf(a) + vecPosition.x, flRadius * sinf(a) + vecPosition.y, vecPosition.z);
Vector vecEnd = Vector(flRadius * cosf(a + flStep) + vecPosition.x, flRadius * sinf(a + flStep) + vecPosition.y, vecPosition.z);
Vector vecStart2D, vecEnd2D;
if (g_interfaces.m_debug_overlay->ScreenPosition(vecStart, vecStart2D) || g_interfaces.m_debug_overlay->ScreenPosition(vecEnd, vecEnd2D))
return;
render_line(vecStart2D.x, vecStart2D.y, vecEnd2D.x, vecEnd2D.y, a_color, width);
}
}