Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прога не выгружается из процессов после закрытия, OpenGL 
:(
    Опции темы
Georgy90
Дата 13.11.2009, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 12.11.2009

Репутация: нет
Всего: нет



Вообщем проблемма в том, что программа невыгружается из процессов после закрытия. Пишу на (VS2008) C++ с преминением OpenGL.
Т.е. я на крестик жму, окно закрываю, но в процессах всеравно весит программа. А если из VS запускать на отладку, то после закрытия окна отладка не завершается (панель с кнопками для отладки висит), приходиться принудительно завершать отладку. Программы без применения OpenGL работают нормально.

На всякий случай кусок кода:

Код

#include <windows.h>            // Header File For Windows
#include <gl\gl.h>            // Header File For The OpenGL32 Library
#include <glut.h>                // Header File For The Glut Library

//Вызывается процедура рисования сцены
void RenderScene(void)
{
    //Окно очищается текущим цветом очистки
    glClear(GL_COLOR_BUFFER_BIT);
    //В качестве текущего цвета рисования задается красный
    //R G B
    glColor3f(1.0f, 0.0f, 0.0f);
    //Рисует прямоугольник, закрашенный текущим цветом
    glRectf(-25.0f, 25.0f, 25.0f, -25.0f);
    glRectf(25.0f, -25.0f, 50.0f, -50.0f);
    //Очищает очередь текущих команд
    glFlush();
}

//Устанавливается состояние визуализации
void SetupRC(void)
{
    glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
}

//Вызывается библиотека GLUT при изменении  размеров окна
void ChangeSize(GLsizei w, GLsizei h) {
    GLfloat aspectRatio;
    //Предотвращает деление на нуль
    if(h == 0)
        h = 1;
    //Устанавливает поле просмотра с размерами окна
    glViewport(0, 0, w, h);
    //Обновляет систему координат
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    //С помощью плоскостей отсечения (левая, правая, нижняя, верхняя, ближняя, дальняя)
    //устанавливает обьем отсечения
    aspectRatio = (GLfloat)w / (GLfloat)h;
    if(w <= h)
        glOrtho (-100.0, 100.0, -100/aspectRatio, 100.0/aspectRatio, 1.0, -1.0);
    else
        glOrtho (-100.0 * aspectRatio, 100.0 * aspectRatio, -100, 100.0, 1.0, -1.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}

//Точка входа основной программы
void main(void)
{
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutCreateWindow("GLRect");
    glutDisplayFunc(RenderScene);
    glutReshapeFunc(ChangeSize);
    SetupRC();
    glutMainLoop();
}


P.S. OpenGL в начальной стадии изучения. Подскажите, может пока далеко не ушел лучше изучать directx или openGl сначала а потом directx ?
PM MAIL   Вверх
Solomon
Дата 17.11.2009, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



по симптомам похоже на неправильную работу с динамической памятью.
это все исходники? или еще что то естЬ? по этому коду ничего такого поидеи недолжно быть...


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
VirtualVoid
Дата 18.11.2009, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.8.2009
Где: Сибирь

Репутация: нет
Всего: 1



Ну из OpenGL там вызывается всего несколько простых функций, поэтому проблема не в опенгл, а в glut. Что если написить glutTimerFunc, glutPostRedisplay, SpecialKeys и т.д., т.е. сделать более полноценное использование глута?


PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.