OpenGL печатает текст в окне прокрутки - PullRequest
0 голосов
/ 21 августа 2009

Я создаю серию прокручиваемых окон, созданных OpenGL. Этот код является устаревшим кодом и может сделать это успешно. Затем я хочу добавить текст в эти списки прокрутки, что я делаю с помощью функции обратного вызова рисования. Когда список прокрутки появляется в окне, обратный вызов draw выводит текст в список. Это нормально работает. Однако, когда я прокручиваю до 7-го списка, он перестает печатать текст. Я могу выбрать его, но он не будет печатать текст. Вот код, который я использую для печати текста в окне списка прокрутки:

void PrintString(const char *str, int ListBase)
{
    glPushAttrib(GL_LIST_BIT)
    glListBase(ListBase)
    glCallLists(strlen(str), GL_UNSIGNED_BYTE, str)
    glPopAttrib()
}

Когда я прокручиваю каждый список, я звоню это несколько раз. Он достигает этой функции и печатает текст для первых шести прокручиваемых списков. Когда он достигает 7-го, он прекращает печатать текст. Я потратил часы на эту проблему, и я пришел к выводу, что это OpenGL и печать текста. Пожалуйста помоги. Как вы печатаете текст в OpenGL, мои шрифты уже определены? Почему бы его не напечатать?

1 Ответ

1 голос
/ 22 августа 2009

Если вы просто хотите отладить это с минимальными изменениями кода, вы должны взглянуть на gDEBugger . По сути, это единственный способ оставаться в здравом уме, исследуя подобные вещи.

Если вы планируете переписать текстовое средство визуализации, вам следует рассмотреть возможность рисования небольших блоков в закадровые буферы (используя Cairo , Anti-Grain или Windows API), загрузите их в качестве текстуры нарисовать это. Это должно улучшить как качество рендеринга (правильный кернинг и т. Д.), Так и скорость, и, кроме того, вам нужно использовать более простой способ для отладки вызовов OpenGL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...