Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос Render

  • Автор темы Автор темы Dark001
  • Дата начала Дата начала
С++
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
18 Янв 2021
Сообщения
88
Реакции
8
Как возможно этот код переделать под rect_world


Код:
Expand Collapse Copy
void render::filled_rect_world(Vector center, Vector2D size, Color color, int angle) {
    Vector top_left, top_right, bot_left, bot_right;

    switch (angle) {
    case 0: // Z
        top_left = Vector(-size.x, -size.y, 0);
        top_right = Vector(size.x, -size.y, 0);

        bot_left = Vector(-size.x, size.y, 0);
        bot_right = Vector(size.x, size.y, 0);

        break;
    case 1: // Y
        top_left = Vector(-size.x, 0, -size.y);
        top_right = Vector(size.x, 0, -size.y);

        bot_left = Vector(-size.x, 0, size.y);
        bot_right = Vector(size.x, 0, size.y);

        break;
    case 2: // X
        top_left = Vector(0, -size.y, -size.x);
        top_right = Vector(0, -size.y, size.x);

        bot_left = Vector(0, size.y, -size.x);
        bot_right = Vector(0, size.y, size.x);

        break;
    }

    //top line
    Vector c_top_left = center + add_top_left;
    Vector c_top_right = center + add_top_right;

    //bottom line
    Vector c_bot_left = center + add_bot_left;
    Vector c_bot_right = center + add_bot_right;

    Vector m_flTopleft, m_flTopRight, m_flBotLeft, m_flBotRight;
    //your standard world to screen if u need one just grab from a past
    if (WorldToScreen(c_top_left, m_flTopleft) && WorldToScreen(c_top_right, m_flTopRight) &&
        WorldToScreen(c_bot_left, m_flBotLeft) && WorldToScreen(c_bot_right, m_flBotRight)) {

        Vertex_t vertices[4];
        static int m_flTexID = g_pSurface->CreateNewTextureID(true);

        g_pSurface->DrawSetTexture( m_flTexID );
        g_pSurface->DrawSetColor( color );

        vertices[0].Init(Vector2D(m_flTopleft.x, m_flTopleft.y));
        vertices[1].Init(Vector2D(m_flTopRight.x, m_flTopRight.y));
        vertices[2].Init(Vector2D(m_flBotRight.x, m_flBotRight.y));
        vertices[3].Init(Vector2D(m_flBotLeft.x, m_flBotLeft.y));

        g_pSurface->DrawTexturedPolygon2(4, vertices, true);
    }
}

@INСАНЯ переделай побратский)
 
Как возможно этот код переделать под rect_world


Код:
Expand Collapse Copy
void render::filled_rect_world(Vector center, Vector2D size, Color color, int angle) {
    Vector top_left, top_right, bot_left, bot_right;

    switch (angle) {
    case 0: // Z
        top_left = Vector(-size.x, -size.y, 0);
        top_right = Vector(size.x, -size.y, 0);

        bot_left = Vector(-size.x, size.y, 0);
        bot_right = Vector(size.x, size.y, 0);

        break;
    case 1: // Y
        top_left = Vector(-size.x, 0, -size.y);
        top_right = Vector(size.x, 0, -size.y);

        bot_left = Vector(-size.x, 0, size.y);
        bot_right = Vector(size.x, 0, size.y);

        break;
    case 2: // X
        top_left = Vector(0, -size.y, -size.x);
        top_right = Vector(0, -size.y, size.x);

        bot_left = Vector(0, size.y, -size.x);
        bot_right = Vector(0, size.y, size.x);

        break;
    }

    //top line
    Vector c_top_left = center + add_top_left;
    Vector c_top_right = center + add_top_right;

    //bottom line
    Vector c_bot_left = center + add_bot_left;
    Vector c_bot_right = center + add_bot_right;

    Vector m_flTopleft, m_flTopRight, m_flBotLeft, m_flBotRight;
    //your standard world to screen if u need one just grab from a past
    if (WorldToScreen(c_top_left, m_flTopleft) && WorldToScreen(c_top_right, m_flTopRight) &&
        WorldToScreen(c_bot_left, m_flBotLeft) && WorldToScreen(c_bot_right, m_flBotRight)) {

        Vertex_t vertices[4];
        static int m_flTexID = g_pSurface->CreateNewTextureID(true);

        g_pSurface->DrawSetTexture( m_flTexID );
        g_pSurface->DrawSetColor( color );

        vertices[0].Init(Vector2D(m_flTopleft.x, m_flTopleft.y));
        vertices[1].Init(Vector2D(m_flTopRight.x, m_flTopRight.y));
        vertices[2].Init(Vector2D(m_flBotRight.x, m_flBotRight.y));
        vertices[3].Init(Vector2D(m_flBotLeft.x, m_flBotLeft.y));

        g_pSurface->DrawTexturedPolygon2(4, vertices, true);
    }
}

@INСАНЯ переделай побратский)
чел хватит тру код просить начни сам что-то делать,ты уже какой пост все выпрашиваешь,зачем это трогать если не умеешь и все просишь?
 
чел хватит тру код просить начни сам что-то делать,ты уже какой пост все выпрашиваешь,зачем это трогать если не умеешь и все просишь?
Я делаю что умею я почучуть учу язык а что не знаю пощю так-что хватит всем мозг ебать своим learncpp (no ad)
 
почучуть учу язык
кривой пастинг(в твоём случае это даже пастингом не назвать) ≠ «почучуть учу язык»

если бы ты с головой влез в нормальный учебник хотябы на месяц, то ты бы уже смог понимать как что работает, а не делать очередную бесполезную тему, которая никак не изменит твои познания языка.
если по-твоему такие советы = мусор/бесполезная трата времени, тогда тебе даже и близко не стоит подходить к программированию в целом.
 
oh shit, here we go again.
Как выше написали кроме ctrl c and ctrl v ты нихуя не сможешь сделать.
Не проси готовый код это тоже самое что попытаться приготовить яичницу а потом сказать приготовьте мне.(странное сравнение)
p.s
чта?
1627787856612.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
oh shit, here we go again.
Как выше написали кроме ctrl c and ctrl v ты нихуя не сможешь сделать.
Не проси готовый код это тоже самое что попытаться приготовить яичницу а потом сказать приготовьте мне.(странное сравнение)
p.s
чта?Посмотреть вложение 163718
filled_rect - это залитый, а rect - не залитый
 
Назад
Сверху Снизу