Как вывести русские буквы на экран opengl

Я пишу игру "Балда" с графическим интерфейсом на языке си с opengl. Столкнулся с проблемой выводом кириллических символов. Что я только не пробовал, и glif(ы) использовал, и текстуры выводил, ничего не получилось. Может кто-то подсказать в каком направление хотя-бы двигаться.

Вот рабочий код для латинских символов.

#define _CRT_SECURE_NO_WARNINGS
#include<glut.h>
#include <stdio.h>
#include <stdlib.h>


char gridLetters[5][5] = {
 {'0', '0', '0', '0', '0'},
 {'0', '0', '0', '0', '0'},
 {'A', 'S', 'D', 'A', 'S'},
 {'0', '0', '0', '0', '0'},
 {'0', '0', '0', '0', '0'}
};

void drawLetters() {
    glColor3f(0, 0, 0);
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            if (gridLetters[i][j] == '0') {
                continue;
            }
            glRasterPos2f(-0.5 + j * 0.2 + 0.08, 0.5 - i * 0.2 - 0.12);
            glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, gridLetters[i][j]);
        }
    }
}


void draw() {
    glClear(GL_COLOR_BUFFER_BIT);
    glPointSize(5);
    glLineWidth(1);
    glColor3f(0, 0, 0);
    glBegin(GL_LINES);
    // Vertical lines
    for (float x = -0.5; x <= 0.5; x += 0.2) {
        glVertex2f(x, 0.5);
        glVertex2f(x, -0.5);
    }
    // Horizontal lines
    for (float y = -0.5; y <= 0.5; y += 0.2) {
        glVertex2f(-0.5, y);
        glVertex2f(0.5, y);
    }
    glEnd();
    drawLetters();
    glFlush();
}


int main(int C, char* V[]) {

    glutInit(&C, V);
    glutInitWindowPosition(250, 100);
    glutInitWindowSize(1200, 700);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutCreateWindow("Балда");
    glClearColor(1, 1, 1, 1);
    glutDisplayFunc(draw);

    glutMainLoop();

    return 0;
}

Ответы (0 шт):