Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
290 / 87 / 28
Регистрация: 25.01.2016
Сообщений: 529
Записей в блоге: 1
1

Как выводить текст

04.07.2017, 05:59. Показов 2236. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, а как в OpenGL выводить текст?
Обычный 2D текст.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.07.2017, 05:59
Ответы с готовыми решениями:

Где нужно выводить текст?
вот написал код, но почему то он не выводит текст #include <GL/glut.h> #include <stdio.h>...

Какими способами лучше выводить текст в OpenGL?
Здравствуйте,хотелось бы узнать Ваше мнение по поводу вывода текста на экран приложения OpenGL....

Как правильно выводить 3д изображение (чтение происходит из obj)
В obj файле хранится информация о сцене в ненормализованном виде (координаты не от 0 до 1) Так как...

Как нарисовать точки и одновременно с этим выводить информацию на экран C++
Ребята,столкнулся с проблемой понимания, пока что только начинаю вникать в програмирование. В...

6
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
04.07.2017, 07:39 2
Лучший ответ Сообщение было отмечено TButton как решение

Решение

Цитата Сообщение от TButton Посмотреть сообщение
Здравствуйте, а как в OpenGL выводить текст?
https://www.opengl.org/archive... rvey/#glut
http://pmg.org.ru/nehe/nehe13.htm
Как в OpenGL написать текст?
1
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
05.07.2017, 09:21 3
Грубо говоря, есть два способа: тот который использовали с 1994 по 2004 - это классический OpenGL и тот которым пользуются после 2004 - это шейдерный OpenGL. Вам какой?

Если классический OpenGL, то вот проект для VS2015 с подключённым FreeGLUT: Вложение 849870
Изображения
 
Вложения
Тип файла: rar DisplayText_CppOpenGL15FreeGLUT.rar (188.7 Кб, 8 просмотров)
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
05.07.2017, 09:31 4
Задублировалось

Добавлено через 9 минут
Проект: DisplayText_CppOpenGL15FreeGLUT.rar
1
290 / 87 / 28
Регистрация: 25.01.2016
Сообщений: 529
Записей в блоге: 1
06.07.2017, 01:26  [ТС] 5
Цитата Сообщение от 8Observer8 Посмотреть сообщение
шейдерный OpenGL
Ну думал, что такой есть.
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Вам какой?
Просто на библиотеке glut.h

Добавлено через 15 секунд
0
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
06.07.2017, 09:42 6
Лучший ответ Сообщение было отмечено TButton как решение

Решение

Цитата Сообщение от TButton Посмотреть сообщение
Просто на библиотеке glut.h
Этот вариант на FreeGLUT вам подходит? Если заменить freeglut на glut, то в коде ничего меня не нужно.

main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <GL\freeglut.h>
 
// Window size
int width = 256;
int height = 256;
 
void DisplayText(float x, float y, float r, float g, float b, const char *string);
void Enable2D(int width, int height);
 
void Init()
{
    // setup scene to 2d mode and set draw color to white
    Enable2D(width, height);
    glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
}
 
void Draw()
{
    // clear (has to be done at the beginning)
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
 
    DisplayText(-50, 0, 0.2f, 0.7f, 0.2f, "Hello World!");
 
    // Swap buffers (has to be done at the end)
    glutSwapBuffers();
}
 
void Enable2D(int width, int height)
{
    glViewport(0, 0, width, height);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(-width / 2.0f, width / 2.0f, -height / 2.0f, height / 2.0f, 0.0f, 1.0f);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}
 
void DisplayText(float x, float y, float r, float g, float b, const char *string)
{
    int j = strlen(string);
 
    glColor3f(r, g, b); 
    glRasterPos2f(x, y);
    for (int i = 0; i < j; i++)
    {
        glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, string[i]);
    }
}
 
// Program entry point
int main(int argc, char** argv)
{
    // Initialize opengl (via glut)
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
    glutInitWindowSize(width, height);
    glutCreateWindow("Axes");
 
    glutDisplayFunc(Draw);
 
    Init();
 
    // Start the whole thing
    glutMainLoop();
    return 0;
}
2
290 / 87 / 28
Регистрация: 25.01.2016
Сообщений: 529
Записей в блоге: 1
06.07.2017, 10:03  [ТС] 7
Цитата Сообщение от 8Observer8 Посмотреть сообщение
вариант на FreeGLUT вам подходит?
да!
0
06.07.2017, 10:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.07.2017, 10:03
Помогаю со студенческими работами здесь

Как выводить текст?
Здравствуйте! Я только изучаю C#, но столкнулся с проблемой вывода текста, а именно: как это...

Как правильно выводить текст
Здравствуйте! Что правильнее использовать, когда надо вывести текст в консоль - printf или cout &lt;&lt;...

Как выводить текст в цвете?
Как выводить надписи в цвете если код цвета например 14h в таком виде не то mov ah, 14h надо...

Как выводить русский текст?
помогите кто нибудь с выводом русского текста в этой программе пытался воспользоваться решениями с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru