Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Программирование графики > вывод текста в OpenGL |
Автор: aurea.lat 19.04.09, 20:36 |
Делала програмку для вывода решения уравнения в виде графика функции (по этому вопросу я консультировалась в темке "перерисовка экрана", там даже код кажись есть). Сдала и как говориться, перестала беспокоиться. А тут препод, подкинул на зачет проблем, добавить координатной сетке подписи осей и сделать разбивку осей цифрами. Народ кто-нибудь знает как работать с выводом текста? |
Автор: albom 19.04.09, 20:47 |
NeHe уроки #13, #14, #17, #43, #15. Тут есть перевод (но стоит сверится с оригиналом, да к тому же там есть исходники). |
Автор: aurea.lat 20.04.09, 09:11 |
спасибо я обязательно посмотрю |
Автор: aurea.lat 28.04.09, 17:43 |
Цитата albom @ NeHe уроки #13, #14, #17, #43, #15. Тут есть перевод (но стоит сверится с оригиналом, да к тому же там есть исходники). Либо я совсем отупела, либо я что-то делаю неверно. Уже битый день пытаюсь приладить хоть какой-нибудь из вариантов кода. А ничего не выходит. Походу для MFC текст определяется как-то по иному, или я чего-то перемудрила |
Автор: albom 28.04.09, 18:33 |
Эти способы не привязаны к MFC, не важно используешь ли ты его или нет. |
Автор: aurea.lat 28.04.09, 19:26 |
Тогда походу я где-то что-то не так делаю. |
Автор: albom 28.04.09, 19:31 |
Возможно. Но я не телепат, я не знаю что ты не так делаешь. Показывай, что получается. А вообще сначала лучше так, у тебя примеры с сайта NeHe работают? |
Автор: aurea.lat 28.04.09, 19:40 |
Сами примеры работают. А вот когда добавляю из в свой код ничего не отображается, хотя ошибок не выдает. |
Автор: albom 28.04.09, 19:58 |
Ну значит что-то упускаешь при переносе кода. Попробуй матрицы преобразования переустановить, буффер глубины очистить, короче минимизировать влияние твоего кода на код примера, может найдешь то место, которое всё портит. |
Автор: aurea.lat 28.04.09, 20:20 |
Вот моя попытка с примером №13 |
Автор: albom 28.04.09, 21:10 |
Исправления: Цитата ExampleView.cpp <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> 19,28d18 < HDC hDC=NULL; // Приватный контекст устройства GDI < HGLRC hRC=NULL; // Постоянный контекст рендеринга < HWND hWnd=NULL; // Сохраняет дескриптор окна < HINSTANCE hInstance; // Сохраняет экземпляр приложения < < GLuint base; // База списка отображения для фонта < GLfloat cnt1; // Первый счетчик для передвижения и закрашивания текста < GLfloat cnt2; // Второй счетчик для передвижения и закрашивания текста < < 107a98 > glMatrixMode(GL_PROJECTION); 110a102,103 > glMatrixMode(GL_MODELVIEW); > glLoadIdentity(); 141,146c134,136 < BuildFont(); < glColor3f(0.1f,1.0f,1.0f); < glRasterPos2f(1,1); < < glPrint("Active OpenGL Text With NeHe - %7.2f"); // Print GL Text To The Screen < // Increase The First Counter --- > glRasterPos3f(10, 0, 0); > glPrint("Проба пера"); > 226c216 < --- > BuildFont(); 486c476 < base = glGenLists(96); // Storage For 96 Characters --- > base = glGenLists(256); 496c486 < ANSI_CHARSET, // Character Set Identifier --- > RUSSIAN_CHARSET, // Character Set Identifier 503,505c493,495 < oldfont = (HFONT)SelectObject(hDC, font); // Selects The Font We Want < wglUseFontBitmaps(hDC, 32, 96, base); // Builds 96 Characters Starting At Character 32 < SelectObject(hDC, oldfont); // Selects The Font We Want --- > oldfont = (HFONT)SelectObject(pDC->m_hDC, font); // Selects The Font We Want > wglUseFontBitmaps(pDC->m_hDC, 0, 256, base); // Builds 256 Characters Starting At Character 0 > SelectObject(pDC->m_hDC, oldfont); // Selects The Font We Want 511c501 < glDeleteLists(base, 96); // Delete All 96 Characters --- > glDeleteLists(base, 256); 527c517 < glListBase(base - 32); // Sets The Base Character to 32 --- > glListBase(base); // Sets The Base Character to 0 Цитата ExampleView.h <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> 76a77 > GLuint base; |
Автор: aurea.lat 28.04.09, 21:30 |
albom большууущее спасибо:)Все печатается)))))))))))))))))))))) Урррряяяя! |
Автор: aurea.lat 01.05.09, 16:48 |
Извиняюсь за внеочередное беспокойство. Моя однокурсница взяла код вывода текста из моей программки, но у нее ничего не получилось . Ошибок не выдает и вроде все правильно а текст не выводится. Я смотрела, но понять не получается. albom если тебе не сложно, можешь посмотреть. Плииизочки. |
Автор: albom 01.05.09, 17:06 |
Вызвать функцию BuildFont(), да отодвинуть подальше дальнюю плоскость отсечения. |
Автор: aurea.lat 01.05.09, 17:25 |
Спасибо прооосто Ооооогромнейшее ))))))))))))))))))) Сообщения были разделены в тему "Два потока" |
Автор: Abraziv 03.07.15, 15:23 |
Здравствуйте, таже беда. Не выводится текст с помощью функции glPrint(), хотя всё вроде делаю правильно. Не поможете ? Geo3View.cpp (, : 166) |