LINUX.ORG.RU

Можно ли ограничить SVG лишь M/L/Z командами?

 ,


0

2

Мне похоже придётся рисовать SVG-шку руками и мне совсем не улыбается писать нормальный парсер.

Есть ли какая-то утилита, позволяющая ограничить команды используемые в path?



Последнее исправление: dataman (всего исправлений: 1)

Ответ на: комментарий от firkax

Я хочу отобразить SVG-шку в игровом движке, который не умеет работать с векторной графикой. Так что буду рисовать самостоятельно. И мне было бы намного проще, если бы я мог попросить какую-то утилиту выбросить из SVG все команды кроме M L и Z.

tempUser
() автор топика
Ответ на: комментарий от tempUser

То есть ты сначала эту картинку нарисуешь (в графическом редакторе), а потом отрендеришь (в своей проге) тоже сам? Я бы решил вопрос иначе - написал свой векторный редактор с бинарным удобным для парсинга форматом вместо svg.

firkax ★★★★★
()

Вы только прямые линии хотите использовать?

Ну это уж совсем примитивно. Реализуйте Безье - это не так сложно, но уж в Безье при помощи редактора вы любую линию сможете преобразовать.

unDEFER ★★★★★
()
Ответ на: комментарий от dataman

Язык – оффтоп. Я спрашиваю об утилите, которая позволит ограничить используемые команды отрисовки в SVG. Это не имеет никакого отношения ни к движку ни к языку котрыми я сейчас пользуюсь.

tempUser
() автор топика
Ответ на: комментарий от tempUser

Простите, что? Вы там хотите одной текстурой нарисовать на фоне 60к х 30к пикселей? Вы понимаете, что это 6 ГБ видеопамяти? Да хоть в каком векторе её нарисуйте, двиг все равно ее будет рендерить как битмап 32bpp

PPP328 ★★★★★
()
Ответ на: комментарий от tempUser

Голову включи, какой оверкил? Текстура в виде svg, в зависимости от настроек графики и железа, адаптируется размер в рантайме, ты же хочешь всё равно битмат и страдать костылями, когда люди за тебя и для тебя всё сделали так, так должно быть в нормальном мире, если конечно у тебя там не пиксель арт, но и на пиксель арт, ты можешь настройки рендера статические задать

zxflux
()
Ответ на: комментарий от tempUser

Не пробовал, но на первый взгляд это неудобный оверкилл для моих целей.

Как по мне, неудобный оверкилл — это пытаться реализовать парсинг и рендеринг SVG на скриптах. Жутко медленно, куча работы, и непонятный профит в итоге.

annulen ★★★★★
()
Ответ на: комментарий от PPP328

Была у меня такая мысль, но практика показывает иначе. Я сейчас не могу отрисовать всё векторное изображение, но я подрихтовал руками один его элемент, отрисовываю в 500-кратном количестве (я ожидаю что схожих объектов будет около 200) и в огромном масштабе, так что координата объекта (578150, 86850). И всё это ещё и перерисовываю в реалтайме (этого делать мне не нужно, но почему нет для тестов). Получаю 60 fps (скорее всего где-то движок ограничивает)

Я не знаю как движок работает под капотом, но он явно умнее SDL. Пока результат меня устраивает.

tempUser
() автор топика
Ответ на: комментарий от tempUser

отрисовываю в 500-кратном количестве

В видеопамять загружается только одна копия

(скорее всего где-то движок ограничивает)

Почитайте чертов мануал на godot и то когда вызывается функция _process

PPP328 ★★★★★
()