Size: a a a

2020 January 06

🦊

🦊fox.cpp in C++ Together 2.0
что за inner, outer
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
поясни за аргументы
r1, r2 — радиусы вертикальный и горизонтальный, inner — цвет внутри эллипса, outer — цвет снаружи.
источник

🦊

🦊fox.cpp in C++ Together 2.0
using Color = sf::Uint32;
источник

🦊

🦊fox.cpp in C++ Together 2.0
Color inner, Color outer
источник

🦊

🦊fox.cpp in C++ Together 2.0
:)
источник

CC

Cool Cooler in C++ Together 2.0
Там по-любому уже есть класс для цвета, прост я документацию не смотрел.
источник

CC

Cool Cooler in C++ Together 2.0
Cool Cooler
My own circle renderer failed like this. Why? Maybe it's becuase some integer overflow? The code is:
sf::Uint8* circle(int r1, int r2, sf::Uint32 inner, sf::Uint32 outer)
{
   sf::Uint8* res = new sf::Uint8[r1 * 2 * r2 * 2 * 4];
   for (int i = 0; i < r1 * 2; i++)
   {
       for (int j = 0; j < r2 * 2; j++)
       {
           ((sf::Uint32*)res)[i * r2 * 2 + j] =
           ((i - r1) * (i - r1) * r2 * r2 +
           (j - r2) * (j - r2) * r1 * r1 <=
           r1 * r1 * r2 * r2) ? inner : outer;
       }
   }
   return res;
}

The call for this function is:
sf::Uint8* pixels = circle(512, 512, 0, -256);
А я же правильно понимаю, что вот я конвертирую -256 в sf:Uint32, и у меня получается 24 единички и 8 ноликов, то есть как раз белый цвет с альфа каналом равным 0?
источник

🦊

🦊fox.cpp in C++ Together 2.0
ладно, как я понял, ты создаёшь массив под bounding box элипса и проходишь по каждому пикселю, задавая цвет
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
ладно, как я понял, ты создаёшь массив под bounding box элипса и проходишь по каждому пикселю, задавая цвет
Чё за bounding box?
источник

🦊

🦊fox.cpp in C++ Together 2.0
ну, прямоугольник, описанный вокруг элипса твоего
источник

CC

Cool Cooler in C++ Together 2.0
Ну да, там массив пикселей.
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
ну, прямоугольник, описанный вокруг элипса твоего
Ага.
источник

CC

Cool Cooler in C++ Together 2.0
bounding — описанный?
источник

🦊

🦊fox.cpp in C++ Together 2.0
не, это "ограничивающий", просто по-моему такой термин в графике используется для обозначения этой штуки
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
не, это "ограничивающий", просто по-моему такой термин в графике используется для обозначения этой штуки
Ааа, спасибо, интересно!
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
зачем ты делаешь работу GPU
А как эту функцию исполнить в GPU?
источник

🦊

🦊fox.cpp in C++ Together 2.0
Cool Cooler
А как эту функцию исполнить в GPU?
Садишься писать шейдеры, лол
источник

🦊

🦊fox.cpp in C++ Together 2.0
Ладно, это потом
источник

🦊

🦊fox.cpp in C++ Together 2.0
Cool Cooler
А я же правильно понимаю, что вот я конвертирую -256 в sf:Uint32, и у меня получается 24 единички и 8 ноликов, то есть как раз белый цвет с альфа каналом равным 0?
Не внушает доверия мне такой каст, честно говоря. Давай лучше 255 << 24 | 255 << 16 | 255 << 8
источник

CC

Cool Cooler in C++ Together 2.0
🦊fox.cpp
Не внушает доверия мне такой каст, честно говоря. Давай лучше 255 << 24 | 255 << 16 | 255 << 8
Исправил. Получилось то же самое.
источник