Jak wykonać renderowanie tekstu OpenGL na żywo dla GUI?

Implementuję GUI zbudowany na OpenGL. Dotarłem do problemu, który będzie miał każdy GUI - renderowanie tekstu. Znam kilka metod renderowania tekstu w OpenGL, jednak zastanawiam się, który z nich najlepiej pasowałby do GUI.

Ogólnie w GUI mamy dwa typy tekstu - statyczny i na żywo. Statyczny jest dość prosty - możemy wyrenderować TTF do tekstury i zapomnieć o tym. Jest to tekst „na żywo”, który bardziej mnie niepokoi - wyobraź sobie konsolę lub czat na żywo w grze wieloosobowej.

Pomyślałem o kilku opcjach:

bez specjalnych przypadków - renderuj i ładuj teksturę za każdym razem, gdy zmienia się tekst, pamiętając tylko o ponownym wyświetleniu tekstu, gdy pojawi się nowy tekst, i próbując podzielić większy tekst na małe części (jak na linii czatu). Wciąż jednak pozostawiłoby nas to zawieszonych w przypadkach, takich jak linia punktowa, która zmienia się cały czas, lub tekst wstępny, który renderuje „na postać” (styl maszyn do pisania widoczny w niektórych grach science-fiction)quad-per character - wydaje się to być popularnym rozwiązaniem, przygotowujesz teksturę w tabeli ASCII i renderujesz teksturowany znak quad. Mam jednak poważne wątpliwości co do skuteczności takiego rozwiązania. Porady, jak to przyspieszyć, również będą mile widziane.rozwiązania hybrydowe - jednak nie mam pojęcia, jak to zrealizowaćczysty

Pytanie brzmi: jak sprawnie renderować tekst w OpenGL?

Jeśli to pomoże, koduję w STL / Boost-heavy C ++ i celuję w karty graficzne GForce 6 i nowsze.

questionAnswers(7)

yourAnswerToTheQuestion