LINUX.ORG.RU

На что способен SVG?

 , , , ,


0

1

Всем доброго вечерочка! Хотелось бы немного обогатить свои знания по применению SVG-графики. Знаю, что используют SVG в основном на сайтах, когда нужно нарисовать логотип и кнопки, которые будут хорошо масштабироваться на разных экранах. Еще используют в типографии, когда надо собственно печатать гигантские логотипы.

А что насчет игр? В каких играх используют SVG, и что именно рисуют? Например, есть такая игра FTL, она вышла уже довольно давно. Там много статических элементов, которые как мне кажется, можно было бы полностью нарисовать на SVG. Игра поддерживает разрешение FullHD, но я не уверен, что поддерживает 4K. Можно ли создавать подобные игры полностью на SVG? А что там по анимации?

Какие еще вы знаете примеры использования SVG, и как вообще выжать из него максимум? Есть ли у него минусы?

Можно ли создавать подобные игры полностью на SVG?

Можно, но будут затраты на растеризацию.

static_lab ★★★★★
()

А что там по анимации?

Поддерживается

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

Нагрузка на процессор сильно повысится?

Да. Можно, конечно, кешировать на диск при первом запуске в данном разрешении, но тогда первая загрузка будет не очень быстрой.

А на чем тогда сделан FTL и подобные игры? На PNG?

Понятия не имею. Обычно да, используют растровые форматы, в том числе и для текстур в 3D-играх.

static_lab ★★★★★
()

используют SVG в основном на сайтах, когда нужно нарисовать логотип и кнопки

Предлагаешь мат.формулы по старинке в виде растра выкладывать? А-ля 1980? Типа SVG для подобного не подходит?

anonymous
()
Ответ на: комментарий от static_lab

Да. Можно, конечно, кешировать на диск при первом запуске в данном разрешении, но тогда первая загрузка будет не очень быстрой.

Т.е. в теории для «легких» по графике игр на современных компах подойдет и SVG, но какой-нибудь Crysis на SVG просто не запустится?

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

Просто примеры привел. Даже спросил в конце, какие еще примеры знаете.

boris_delaet_site
() автор топика

А вообще наверно игры с реалистичной графикой невозможно сделать на SVG, этот формат не создавался для фотореалисточности, он же больше про абстракции, фигуры всякие, да?

boris_delaet_site
() автор топика

SVG - это формат, описывающий векторную графику. Не больше, ни меньше. Про анимации можно сразу забыть, ибо их никто не использует и реализованы они только в браузерах и то на троечку.

Есть ли у него минусы?

Его никто не поддерживает.

Например, есть такая игра FTL

FLT - пиксель-арт. Там SVG вообще не нужен.

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

в теории для «легких» по графике игр на современных компах подойдет и SVG, но какой-нибудь Crysis…

С точностью до наоборот. Полигоны это как раз векторная графика, а не растровая.

andytux ★★★★★
()

Ты просто возьми и нарисуй в svg более-менее фотореалистичную картинку и оцени её размер.

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

Про анимации можно сразу забыть, ибо их никто не использует

Чойта?!

и реализованы они только в браузерах и то на троечку.

А вот это да. Где-то даже на двоечку.

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

Ты просто возьми и нарисуй в svg более-менее фотореалистичную картинку и оцени её размер.

И время рендера в просмотрщике. И нагрузку процессора во время рендера. И потребление памяти на отрендереном.

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

SVG не гарантирует, что между «пикселями»/прямоугольниками не будет зазоров. Это всё на совести рендера.

PS: по ссылке как раз те же артефакты.

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

Есть ли у него минусы?

Могу наврать. Дело было в 90х. Кажется, что помню самый большой минус - он не совсем чистый вектор. В частности clipPath просто в принципе невозможно честно обработать в вектор. Долго срался по этому поводу с заказчиками, которые хотели конвертер в dxf, wmf, emf.

anonymous
()
Ответ на: комментарий от fsb4000

Да, но как-то SVG же используется

SVG как способ вывода графики. Для такой игры как Тетрис, изображение можно было рендерить и на канвасе, и DIV-элементами из HTML. Сам код игры полностью написан на JS, можете сами убедиться, посмотрев исходник: https://web.archive.org/web/20060111174751if_/http://www.croczilla.com:80/svg/samples/svgtetris/svgtetris.svg

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

Чисто как canvas.

Вот нашёл тетрис

И там внутри JS. Люди забывают, что svg поддерживает тег script.

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

Да, полноценный clip, который почти никто не поддерживает, реализуется только через растровую маску.

Пруфцы тут: https://razrfalcon.github.io/resvg-test-suite/svg-support-table.html#e-clipPath

RazrFalcon ★★★★★
()
Последнее исправление: RazrFalcon (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.