Рендеринг текста внутри виджета gtkglext — от перенасыщения до панго

Я занимаюсь созданием пользовательского интерфейса для своего приложения моделирования C/C++ с использованием gtk+ и отхожу от управления из командной строки. Я использовал gtkglext для встраивания моего OpenGL-рендеринга симуляции в виджет. Первоначально я использовал OpenGL + GLUT для всего, но с момента создания пользовательского интерфейса и перехода на gtkglext мне пришлось полностью вытеснить GLUT.

Способ, которым я использовал для рендеринга текста «внутри» окна рендеринга OpenGL, заключался в использовании glutStrokeCharacter. Должен ли я теперь использовать Pango вместо этого? Важно иметь возможность вращать и масштабировать текст так же, как и остальные данные моделирования — для маркировки осей, масштабов рисования и т. д.

Я смотрел на пример font-pangoft2.c. Любые дополнительные ссылки будут полезны.


person Ryan    schedule 10.09.2011    source источник


Ответы (1)


Есть ли причина, по которой вам нужно «полностью вытеснить GLUT»? Вы должны по-прежнему иметь возможность использовать glutStrokeCharacter, даже если контекст OpenGL создается с помощью gtkglext.

Судя по звуку, у вас не будет большого количества текста. Одним из вариантов может быть использование GtkLabel для рисования в GdkPixmap, а затем загрузка растрового изображения в виде текстуры OpenGL.

person Matthew Marshall    schedule 12.09.2011