Форум программистов, компьютерный форум CyberForum.ru

OpemGL Text draw - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать функцию, сравнивающую 2 строки http://www.cyberforum.ru/cpp-beginners/thread183409.html
Ваша задача написать функцию BOOL сравнить (символ * s1, Int size1, символ * S2, Int size2), который сравнивает две строки. Вход Входной содержит две строки. Каждая строка на отдельной строке. IITU IITU Выход
C++ C++ работа с изображениями Нужно заставить программу работать с изображениями, а именно: преобразовывать в монохромные, разрезать на кусочки, сравнивать эти самые кусочки. С изображениями раньше не работал, поэтому даже не знаю с чего начать. Подскажите библиотеки, наиболее подходящие для данной задачи. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread183405.html
C++ Использовать только рекурсию
Proc61. Описать рекурсивные функции Fact(N) и Fact2(N) вещественного типа, вычисляющие значения факториала N! и двойного факториала N!! соответственно (N > 0 — параметр целого типа). С помощью этих функций вычислить факториалы и двойные факториалы пяти данных чисел. Proc62. Описать рекурсивную функцию PowerN(x,n) вещественного типа, находящую значение n-й степени числа x по формуле: x0 = 1,...
Найти последний символ в строке C++
найти последний символ в строке #include <iostream> #include <string> using namespace std; void main() { string a; cin >> a;
C++ рекурсивная функция http://www.cyberforum.ru/cpp-beginners/thread183361.html
Описать рекурсивную функцию Digits(S) целого типа, находящую количество цифр в строке S без использования оператора цикла. С помощью этой функции найти количество цифр в данных пяти строках.
C++ Сортировка Помогите реализовать сортировку в списке! это задание Описать класс «записная книжка». Предусмотреть возможность работы с произвольным числом записей, поиска записи по какому-либо признаку (например, по фамилии, дате рождения или номеру телефона), добавления и удаления записей, сортировки по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать... подробнее

Показать сообщение отдельно
MelKiY
-121 / 2 / 1
Регистрация: 20.09.2009
Сообщений: 101
30.10.2010, 14:58  [ТС]     OpemGL Text draw
я читал это там нет того чего мен нужно а мне нужен простой пример вывода текста на другое окно с OpenGL

Добавлено через 40 минут
Код
HDC        hDC=NULL;  // Приватный контекст устройства GDI
HGLRC      hRC=NULL;  // Постоянный контекст рендеринга
HWND       hWnd=NULL; // Сохраняет дескриптор окна
HINSTANCE  hInstance; // Сохраняет экземпляр приложения
GLuint  base;      // База списка отображения для фонта
GLfloat  cnt1;     // Первый счетчик для передвижения и закрашивания текста
GLfloat  cnt2;     // Второй счетчик для передвижения и закрашивания текста

bool  keys[256];      // Массив для работы с клавиатурой
bool  active=TRUE;    // Флаг активации окна, по умолчанию = TRUE
bool  fullscreen=TRUE;// Флаг полноэкранного режима
LRESULT  CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);  // Объявление WndProc

GLvoid BuildFont(GLvoid)  // Построение нашего растрового шрифта
{
HFONT  font;
base = glGenLists(96);
font = CreateFont( -24,0,0,0,FALSE,FALSE,FALSE,ANSI_CHARSET,OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS,ANTIALIASED_QUALITY,FF_DONTCARE|DEFAULT_PITCH,NULL,"Courier New");
SelectObject(hDC, font);        // Выбрать шрифт, созданный нами ( НОВОЕ )
wglUseFontBitmaps(hDC, 32, 96, base); // Построить 96 символов начиная с пробела ( НОВОЕ )
}

GLvoid KillFont(GLvoid)            // Удаление шрифта
{
glDeleteLists(base, 96);        // Удаление всех 96 списков отображения ( НОВОЕ )
}

GLvoid glPrint(const char *fmt, ...)        // Заказная функция «Печати» GL
{
char    text[256];      // Место для нашей строки
va_list    ap;          // Указатель на список аргументов
if (fmt == NULL)     // Если нет текста
return;            // Ничего не делать
va_start(ap, fmt);           // Разбор строки переменных
vsprintf(text, fmt, ap); // И конвертирование символов в реальные коды
va_end(ap);                  // Результат помещается в строку
glPushAttrib(GL_LIST_BIT);      // Протолкнуть биты списка отображения ( НОВОЕ )
glListBase(base - 32);          // Задать базу символа в 32 ( НОВОЕ )
glCallLists(strlen(text), GL_UNSIGNED_BYTE, text);// Текст списками отображения(НОВОЕ)
glPopAttrib(); // Возврат битов списка отображения ( НОВОЕ )
}

int InitGL(GLvoid)            // Все начальные настройки OpenGL здесь
{
glShadeModel(GL_SMOOTH);    // Разрешить плавное затенение
glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Черный фон
glClearDepth(1.0f);         // Установка буфера глубины
glEnable(GL_DEPTH_TEST);    // Разрешение теста глубины
glDepthFunc(GL_LEQUAL);     // Тип теста глубины
// Действительно хорошие вычисления перспективы
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
BuildFont();            // Построить шрифт
return TRUE;            // Инициализация окончена
}

int DrawGLScene(GLvoid) // Здесь мы будем рисовать все
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Очистка экран и буфера глубины
glLoadIdentity(); // Сброс просмотра
glTranslatef(0.0f,0.0f,-1.0f); // Передвижение на одну единицу вглубь
// Цветовая пульсация, основанная на положении текста
glColor3f(1.0f*float(cos(cnt1)),1.0f*float(sin(cnt2)),1.0f-0.5f*float(cos(cnt1+cnt2)));
// Позиционирование текста на экране
glRasterPos2f(-0.45f+0.05f*float(cos(cnt1)), 0.35f*float(sin(cnt2)));
glPrint("Active OpenGL Text With NeHe - %7.2f", cnt1);  // Печать текста GL на экран
cnt1+=0.051f;  // Увеличение первого счетчика
cnt2+=0.005f;  // Увеличение второго счетчика
return TRUE;   // Все отлично
}
ну и что потом?
 
Текущее время: 13:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru