C++ Draw_dynamic_filled_star for supremacy

Участник
Статус
Оффлайн
Регистрация
6 Апр 2021
Сообщения
343
Реакции[?]
216
Поинты[?]
122K
C++:
void render::draw_dynamic_filled_star( const vec3_t& center, float outer_radius, float inner_radius, int points, Color color, Color color_fill ) {
    auto screen = ZERO;

    if ( !render::WorldToScreen3D( center, screen ) )
        return;

    float angle = math::pi / points;
    float start_angle = -math::pi / 2.0f;
    std::vector<Vertex> point;

    for ( int i = 0; i < 2 * points; i++ ) {
        float radius = ( i % 2 == 0 ) ? outer_radius : inner_radius;
        float current_angle = start_angle + i * angle;
        const auto& point3d = vec3_t( cos( current_angle ), sin( current_angle ), 0.f ) * radius;
        vec2_t point2d;
        if ( render::WorldToScreen( center + point3d, point2d ) )
            point.push_back( vec2_t( point2d.x, point2d.y ) );
    }

    textured_polygon( point.size( ), point, color_fill );
    textured_polyline( point.size( ), point, color );
}
1676802973480.png
 
Забаненный
Статус
Оффлайн
Регистрация
27 Дек 2022
Сообщения
50
Реакции[?]
32
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
What this script do ?
 
anonymous
Забаненный
Статус
Оффлайн
Регистрация
18 Окт 2022
Сообщения
609
Реакции[?]
216
Поинты[?]
144K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Прикольно, единственное что фпс будет кушать)
 
sapphire dev
Пользователь
Статус
Оффлайн
Регистрация
15 Мар 2018
Сообщения
188
Реакции[?]
124
Поинты[?]
36K
Я не понимаю математика угла, как блять это работает?? Angle, startangle, currentangle. Что за деление на pi / 2 зачем? Как это работает блят, объясняй почему так сделал?
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
Я не понимаю математика угла, как блять это работает?? Angle, startangle, currentangle. Что за деление на pi / 2 зачем? Как это работает блят, объясняй почему так сделал?
7 класс средней школы братус...
 
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2021
Сообщения
85
Реакции[?]
10
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
one good post gg
 
🍫
Участник
Статус
Оффлайн
Регистрация
13 Ноя 2020
Сообщения
1,230
Реакции[?]
181
Поинты[?]
71K
C++:
void render::draw_dynamic_filled_star( const vec3_t& center, float outer_radius, float inner_radius, int points, Color color, Color color_fill ) {
    auto screen = ZERO;

    if ( !render::WorldToScreen3D( center, screen ) )
        return;

    float angle = math::pi / points;
    float start_angle = -math::pi / 2.0f;
    std::vector<Vertex> point;

    for ( int i = 0; i < 2 * points; i++ ) {
        float radius = ( i % 2 == 0 ) ? outer_radius : inner_radius;
        float current_angle = start_angle + i * angle;
        const auto& point3d = vec3_t( cos( current_angle ), sin( current_angle ), 0.f ) * radius;
        vec2_t point2d;
        if ( render::WorldToScreen( center + point3d, point2d ) )
            point.push_back( vec2_t( point2d.x, point2d.y ) );
    }

    textured_polygon( point.size( ), point, color_fill );
    textured_polyline( point.size( ), point, color );
}
Посмотреть вложение 239135
Император гордится тобой! Теперь будем подсвечивать наших! Спасибо за разработку для нашей великой страны — Китая!
 
Сверху Снизу