Вот некоторый код, показывающий, как захватить ввод с клавиатуры с помощью SDL.
Прежде всего вам нужно запросить ввод ключа из SDL, вызвав EventPoll.
Вы можете делать это всякий раз, когда вы готовы обрабатывать ввод или регулярно
фиксированный интервал и сохранение ключей и состояния клавиатуры во внутренних таблицах.
void EventPoll (ulong mask)
{
SDL_Event event;
while (SDL_PollEvent (&event)) {
switch(event.type) {
case SDL_KEYDOWN:
KeyHandler (reinterpret_cast<SDL_KeyboardEvent*> (&event));
break;
case SDL_KEYUP:
KeyHandler (reinterpret_cast<SDL_KeyboardEvent*> (&event));
break;
// handle other events
}
}
}
void KeyHandler (SDL_KeyboardEvent *event)
{
SDLKey keySym = event->keysym.sym;
wchar_t unicode = event->keysym.unicode;
int keyState = (event->state == SDL_PRESSED);
// process key info, e.g. put key into a buffer and
// store keyboard state
}
Вот ссылка на документ, описывающий методы визуализации текста с помощью OpenGL: http://www.opengl.org/resources/features/fontsurvey/
То, что вы, возможно, захотите сделать, это захватить ввод с клавиатуры и отобразить его «на лету» с использованием того шрифта, который вы предварительно загрузили.