Вопрос Поверхностный рендер [lw]

Пользователь
Статус
Оффлайн
Регистрация
3 Июл 2021
Сообщения
825
Реакции[?]
93
Поинты[?]
10K
как сделать чтобы гранат таимер рендерился поверх 3DCircle
Код:
void worldesp::molotov_timer(entity_t* entity)
{
    if (!g_cfg.esp.molotov_timer)
        return;

    auto inferno = reinterpret_cast<inferno_t*>(entity);
    auto origin = inferno->GetAbsOrigin();

    Vector screen_origin;

    if (!math::world_to_screen(origin, screen_origin))
        return;

    auto spawn_time = inferno->get_spawn_time();
    auto factor = (spawn_time + inferno_t::get_expiry_time() - m_globals()->m_curtime) / inferno_t::get_expiry_time();

    static auto size = Vector2D(360.0f, 5.0f);

    auto weapon = (weapon_t*)entity; //-V1027
    auto distance = g_ctx.local()->GetAbsOrigin().DistTo(weapon->GetAbsOrigin()) / 12.0f;

    auto color_g = Color(0, 0, 0, 255);
    auto color_a = Color(247, 57, 57, 197);

    if (distance < 20)
    {
        color_g = Color(150, 20, 20, 245);
    }

    render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g);
    render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
    render::get().CircularProgressBar(screen_origin.x, screen_origin.y - 17.0f, 20, 18, 40, size.x * factor, g_cfg.esp.molotov_timer_color, false);
    render::get().text(fonts[WARNING_icon], screen_origin.x + 1.0f, screen_origin.y - 20.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "l");
    render::get().text(fonts[ESP], screen_origin.x, screen_origin.y - size.y * 0.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "%i M", (int)distance);
}
 

Вложения

ХТО Я ???
Пользователь
Статус
Оффлайн
Регистрация
24 Июн 2019
Сообщения
382
Реакции[?]
77
Поинты[?]
0
render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g); render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
просто поменяй их местами
Код:
    render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
    render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g);
 
Пользователь
Статус
Оффлайн
Регистрация
3 Июл 2021
Сообщения
825
Реакции[?]
93
Поинты[?]
10K
Забаненный
Статус
Оффлайн
Регистрация
5 Сен 2020
Сообщения
986
Реакции[?]
275
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
void worldesp::molotov_timer(entity_t* entity)
{
    if (!g_cfg.esp.molotov_timer)
        return;

    auto inferno = reinterpret_cast<inferno_t*>(entity);
    auto origin = inferno->GetAbsOrigin();

    Vector screen_origin;

    if (!math::world_to_screen(origin, screen_origin))
        return;

    auto spawn_time = inferno->get_spawn_time();
    auto factor = (spawn_time + inferno_t::get_expiry_time() - m_globals()->m_curtime) / inferno_t::get_expiry_time();

    static auto size = Vector2D(360.0f, 5.0f);

    auto weapon = (weapon_t*)entity; //-V1027
    auto distance = g_ctx.local()->GetAbsOrigin().DistTo(weapon->GetAbsOrigin()) / 12.0f;

    auto color_g = Color(0, 0, 0, 255);
    auto color_a = Color(247, 57, 57, 197);

    if (distance < 20)
    {
        color_g = Color(150, 20, 20, 245);
    }

    render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g);
     render::get().CircularProgressBar(screen_origin.x, screen_origin.y - 17.0f, 20, 18, 40, size.x * factor, g_cfg.esp.molotov_timer_color, false);
    render::get().text(fonts[WARNING_icon], screen_origin.x + 1.0f, screen_origin.y - 20.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "l");
    render::get().text(fonts[ESP], screen_origin.x, screen_origin.y - size.y * 0.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "%i M", (int)distance);
    render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
  
}
 
Astty
Пользователь
Статус
Оффлайн
Регистрация
11 Окт 2020
Сообщения
435
Реакции[?]
56
Поинты[?]
0
как сделать чтобы гранат таимер рендерился поверх 3DCircle
Код:
void worldesp::molotov_timer(entity_t* entity)
{
    if (!g_cfg.esp.molotov_timer)
        return;

    auto inferno = reinterpret_cast<inferno_t*>(entity);
    auto origin = inferno->GetAbsOrigin();

    Vector screen_origin;

    if (!math::world_to_screen(origin, screen_origin))
        return;

    auto spawn_time = inferno->get_spawn_time();
    auto factor = (spawn_time + inferno_t::get_expiry_time() - m_globals()->m_curtime) / inferno_t::get_expiry_time();

    static auto size = Vector2D(360.0f, 5.0f);

    auto weapon = (weapon_t*)entity; //-V1027
    auto distance = g_ctx.local()->GetAbsOrigin().DistTo(weapon->GetAbsOrigin()) / 12.0f;

    auto color_g = Color(0, 0, 0, 255);
    auto color_a = Color(247, 57, 57, 197);

    if (distance < 20)
    {
        color_g = Color(150, 20, 20, 245);
    }

    render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g);
    render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
    render::get().CircularProgressBar(screen_origin.x, screen_origin.y - 17.0f, 20, 18, 40, size.x * factor, g_cfg.esp.molotov_timer_color, false);
    render::get().text(fonts[WARNING_icon], screen_origin.x + 1.0f, screen_origin.y - 20.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "l");
    render::get().text(fonts[ESP], screen_origin.x, screen_origin.y - size.y * 0.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "%i M", (int)distance);
}
выкинь сюрфейс рендер и рендери на имгуи, и ты увидишь разницу в фпс
 
NotCoder
Пользователь
Статус
Оффлайн
Регистрация
25 Мар 2018
Сообщения
354
Реакции[?]
108
Поинты[?]
0
как сделать чтобы гранат таимер рендерился поверх 3DCircle
Код:
void worldesp::molotov_timer(entity_t* entity)
{
    if (!g_cfg.esp.molotov_timer)
        return;

    auto inferno = reinterpret_cast<inferno_t*>(entity);
    auto origin = inferno->GetAbsOrigin();

    Vector screen_origin;

    if (!math::world_to_screen(origin, screen_origin))
        return;

    auto spawn_time = inferno->get_spawn_time();
    auto factor = (spawn_time + inferno_t::get_expiry_time() - m_globals()->m_curtime) / inferno_t::get_expiry_time();

    static auto size = Vector2D(360.0f, 5.0f);

    auto weapon = (weapon_t*)entity; //-V1027
    auto distance = g_ctx.local()->GetAbsOrigin().DistTo(weapon->GetAbsOrigin()) / 12.0f;

    auto color_g = Color(0, 0, 0, 255);
    auto color_a = Color(247, 57, 57, 197);

    if (distance < 20)
    {
        color_g = Color(150, 20, 20, 245);
    }

    render::get().circle_filled(screen_origin.x, screen_origin.y - 17.0f, 18, 20, color_g);
    render::get().Draw3DFilledCircle(origin, 144.0f, color_a);
    render::get().CircularProgressBar(screen_origin.x, screen_origin.y - 17.0f, 20, 18, 40, size.x * factor, g_cfg.esp.molotov_timer_color, false);
    render::get().text(fonts[WARNING_icon], screen_origin.x + 1.0f, screen_origin.y - 20.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "l");
    render::get().text(fonts[ESP], screen_origin.x, screen_origin.y - size.y * 0.5f, Color(220, 220, 220, 245), HFONT_CENTERED_X | HFONT_CENTERED_Y, "%i M", (int)distance);
}
Ну зачем эти круги, когда давно уже слили метод через polygons, намного красивее и правильнее чем ваш этот круг блед...
Upd: Также на форуме есть моя тема с convex hull
 
Пользователь
Статус
Оффлайн
Регистрация
3 Июл 2021
Сообщения
825
Реакции[?]
93
Поинты[?]
10K
Ну зачем эти круги, когда давно уже слили метод через polygons, намного красивее и правильнее чем ваш этот круг блед...
Upd: Также на форуме есть моя тема с convex hull
не умею пользоватся, научите?:>
 
Сверху Снизу