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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OpenGl Простейшая программа не отрисовывается 
:(
    Опции темы
Selat
Дата 12.7.2012, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток!

Недавно начал осваивать OpenGL. По туториалу написал программу, которая должна рисовать треугольник. но при запуске программы чёрный экран. Функция SwapBuffers() работает нормально (всегда возвращает true).При компиляции ошибок не выдаётся. Приведу не весь код, т.к. получился довольно объёмный. Вот так вызываем функцию DrawGLScene()(в цикле):
Код

DrawGLScene();
SwapBuffers( hDC );
Sleep( 10 );

А вот код этой функции:
Код

GLvoid DrawGLScene(GLvoid)
{
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    
    glColor3f(1.0f, 0.0f, 0.0f);
    glBegin(GL_TRIANGLES);
    glVertex3f(-0.5f, 0.0f, 0.0f);
    glVertex3f(0.0f, 0.5f, 0.0f);
    glVertex3f(0.5f, 0.0f, 0.0f);
    glEnd();
}

Надеюсь на помощь.

Это сообщение отредактировал(а) Selat - 12.7.2012, 20:27
PM MAIL   Вверх
Amp
Дата 13.7.2012, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Слишком мало кода. Приводи весь.
PM MAIL   Вверх
Selat
Дата 1.8.2012, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Странно то, что glClearColor() работает нормально, а треугольник не рисуется.

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  Main.cpp 14,19 Kb
PM MAIL   Вверх
Amp
Дата 1.8.2012, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ничего странного. Навскидку - когда ты устанавливаешь перспективную проекцию у тебя ближняя точка отсечения (z_near) равна 0.01, а дальняя (z_far) 100.0. Треугольник же ты рисуешь с координатой z = 0.0, он просто не попадает в пирамиду видимости. Рисуй его с z = -1.0 например.
PM MAIL   Вверх
Selat
Дата 1.8.2012, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо огромное! Кстати, ещё один вопрос: в программе предусмотрено, чтобы при нажатии клавиши F1 сменялся тип окна(оконный / полно экранный режим), при этом, если 
Код

ChangeDisplaySettings( &dmScreenSettings, CDS_FULLSCREEN ) != DISP_CHANGE_SUCCESSFUL

то выводится сообщение об ошибке. У меня при переключении из оконного в полноэкранный режим это условие выполняется, но при этом, если просто убрать проверку, то всё великолепно работает.
PM MAIL   Вверх
Amp
Дата 1.8.2012, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Selat @  1.8.2012,  10:47 Найти цитируемый пост)
то выводится сообщение об ошибке. У меня при переключении из оконного в полноэкранный режим это условие выполняется, но при этом, если просто убрать проверку, то всё великолепно работает. 

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

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

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


 




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


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

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