Каир ускоряется на бэкэнде Opengl? - PullRequest
10 голосов
/ 16 сентября 2011

Под этим я подразумеваю, Каир рисует линии, фигуры и все остальное, используя примитивы opengl acelerated или нет? а если нет, то какая библиотека это делает?

Ответы [ 2 ]

6 голосов
/ 17 сентября 2011

Серверная часть OpenGL, безусловно, ускоряет некоторые функции.Но есть много, которые не могут ускориться.Тот факт, что он написан против GL 2.1 (и, следовательно, не может использовать более продвинутые функции аппаратного обеспечения 3.x или 4.x), означает, что есть много вещей, которые он просто не может ускорить.

Если вы готовыЧтобы ограничиться аппаратным обеспечением NVIDIA, NVIDIA только что выпустила расширение NV_path_rendering, которое предоставляет множество функций 2D, которые вы найдете в Cairo.Действительно, возможно, что вы могли бы написать бэкэнд для Каира.Расширение рендеринга пути доступно только на оборудовании GeForce 8xxx и выше.

Изящно, что оно сфокусировано на конвейере вершин.Это не делает вещи как градиенты или цвета или что-то еще.Это хорошо , потому что он все еще позволяет использовать фрагментный шейдер.Что означает, что вы можете делать почти все, что хотите;)

1 голос
/ 16 сентября 2011

Каир имеет гибкий бэкэнд для рендеринга.Он может использовать OpenGL для рендеринга, хотя поддержка все еще указана как «экспериментальная» на данный момент.Подробнее см. с использованием cairo с OpenGL .

. Он также может выводить данные в X Window System, Quartz, Win32, буферы изображений, PostScript, PDF и SVG и т. Д.

...