Как быстро нарисовать изогнутую форму?
«быстро» я предполагаю, что нужно максимально использовать аппаратные средства
под «изогнутыми» я подразумеваю границы, определенные либо квадратичными, либо кубическими кривыми Безье
под «формой» я подразумеваю либо «толстый» штрих (т. е. шириной более 1 пикселя), либо четно-нечетный / ненулевой заполненный «2D-изогнутый многоугольник», возможно, с отверстиями (т. е. буква «О»)
Я спрашиваю, потому что у вариантов, которые я знаю, есть несколько недостатков:
триангуляция формы и отправка ее в OpenGL - выполняет самую сложную работу с процессором и может использовать слишком много / мало треугольников (т. е. расточительно / грубо)
Атлас текстуры - должен пересчитывать / загружать текстуру при каждом изменении (форма, масштаб, поворот, ...)
Поле расстояния со знаком - в больших масштабах детали выглядят не очень красиво или должны пересчитать / загрузить текстуру
NV_path_rendering - могло бы быть, если бы он не работал только на картах Nvidia
OpenVG - могло бы быть, если бы он не работал только на мобильном телефоне
?
* Мне кажется, что OpenVG, мягко говоря, движется не совсем вперед. Кто-нибудь знает что-нибудь о его будущих перспективах? Стоит ли вообще следить за сегодняшним днем?
** OpenGL 4+ предоставляет возможность тесселяции полигонов на лету. Можно ли его как-то использовать для уточнения сетки из опции «триангуляция», чтобы граница формы, по крайней мере, не выглядела «под углом»?