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

OpenGL, проблема с функциями. - C++

Восстановить пароль Регистрация
 
Stochfard
4 / 4 / 1
Регистрация: 23.12.2011
Сообщений: 79
12.05.2012, 21:33     OpenGL, проблема с функциями. #1
Проблема состоит в том, что если я пытаюсь перенести параметры создания окна в OpenGL в функцию то окно не создается, а если в майн то все нормально работает.
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
#include <GL/glut.h>
 
 
using namespace std;
 
void display(void)
{
  glClear(GL_COLOR_BUFFER_BIT);
  glEnd();
  glFlush();
}
 
int main(int argc, char **argv)
{glutInit(&argc, argv);                         
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);      
  glutInitWindowSize(840, 620);                      
  glutInitWindowPosition(200, 240);             
  glutCreateWindow("Test");                         
  glClearColor(0.0, 0.0, 0.0, 0.0);                 
  glMatrixMode(GL_PROJECTION);                      
  glLoadIdentity();                                 
  glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);           
  glutDisplayFunc(display);                         
  glutMainLoop();                                   
}
Вот так все работает отлично.



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
#include <GL/glut.h>
 
using namespace std;
 
void window(int argc, char **argv);
void display()
{
  glClear(GL_COLOR_BUFFER_BIT);
  glEnd();
  glFlush();
}
 
void main(void)
{
void window(int argc, char **argv);
}
void window(int argc, char **argv){
  glutInit(&argc, argv);                            
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);      
  glutInitWindowSize(840, 620);                     
  glutInitWindowPosition(100, 740);                 
  glutCreateWindow("Test");                         
  glClearColor(0.0, 0.0, 0.0, 0.0);                 
  glMatrixMode(GL_PROJECTION);                  
  glLoadIdentity();                                 
  glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);           
  glutDisplayFunc(display);                         
  glutMainLoop();                               
}
А если вот так, то требует, чтоб функция window возвращала значение, если ставить return то все нормально компилируется и запускается, но после нажатия на запуск что-то происходит но онка так и не появляется.

Подскажите в чем проблема и что я не так делаю.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
12.05.2012, 21:49     OpenGL, проблема с функциями. #2
попробуй сначала так
void main(int argc, char **argv)
{
void window(argc, argv);
}
Stochfard
4 / 4 / 1
Регистрация: 23.12.2011
Сообщений: 79
12.05.2012, 21:53  [ТС]     OpenGL, проблема с функциями. #3
если я ставлю void для window то тот же эффект что и при ретурн 0. т.е. окно не появляется просто
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
12.05.2012, 22:57     OpenGL, проблема с функциями. #4
вот работает, по крайней мере черное окно появляется
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
#include <GL/glut.h>
 
 
using namespace std;
 
 
void display(void)
{
 
  glClear(GL_COLOR_BUFFER_BIT);
  glEnd();
  glFlush();
}
 
void window(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(840, 620);
    glutInitWindowPosition(200, 240);
    glutCreateWindow("Test");
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
    glutDisplayFunc(display);
    glutMainLoop();
}
int main(int argc, char **argv)
{
    window(argc, argv);
 
  return 0;
}
Stochfard
4 / 4 / 1
Регистрация: 23.12.2011
Сообщений: 79
13.05.2012, 00:20  [ТС]     OpenGL, проблема с функциями. #5
действительно работает.
Странно =)
Спасибо =))
Yandex
Объявления
13.05.2012, 00:20     OpenGL, проблема с функциями.
Ответ Создать тему
Опции темы

Текущее время: 12:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru