OpenVG и WebGL - PullRequest
       63

OpenVG и WebGL

1 голос
/ 18 марта 2012

Существует ли реализация JavaScript стандарта OpenVG, основанного на WebGL?

Я прекрасно знаю, что мы можем визуализировать векторную графику в браузере, мне просто интересно, есть ли у кого-нибудь на самом делеудалось отрисовать SVG с помощью WebGL, основываясь или не основываясь на стандарте OpenVG.Если его не существует, было бы полезно начать проект?

Ответы [ 3 ]

1 голос
/ 25 марта 2012

Вот некоторый C-код для разбора и рендеринга SVG в OpenGL 1.x: https://github.com/tnovelli/vsprite. Это может быть не совсем то, что вы ищете.Мы использовали трюк Stencil Buffer для рисования 2D полигонов.Для 3D, я думаю, вам придется рендерить в внеэкранный буфер и накладывать текстуру на 3D-объект.(Почему бы не сделать предварительный рендеринг SVG в растровые изображения? Потому что наши объекты разрушаемы и деформируемы.)

Я подумываю перенести это в Javascript + WebGL.Функции синтаксического анализа XML / SVG / CSS в браузере должны устранить большую часть работы, но уловка трафарета может стать проблемой.Для меня это задний план, так что если кто-то еще хочет что-то попробовать, не задерживайте дыхание, просто сделайте это!:)

1 голос
/ 11 апреля 2012

Ну, ни один из этих ответов не дает четкого ответа на вопрос. @tom показывает, что да, мы можем визуализировать векторную графику на холсте webgl, используя аккуратный трафаретный трюк. Однако это не полная реализация спецификации OpenVG, и мне любопытно, сколько из спецификации OpenVG может быть реализовано таким образом. Итак, сделаем вывод:

В настоящее время нет реализаций, но особого спроса на это нет.

0 голосов
/ 18 марта 2012

Поскольку WebGL прекрасно сочетается с любой другой техникой HTML (5), вы уже можете смешивать ее.Единственное, что вы не сможете смешивать SVG с WebGL, используя его буфер глубины - например, логотип (SVG), размещенный в 3D-мире (WebGL).Но, может быть, это именно то, что тебе нравится делать?

...