Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Stochfard
4 / 4 / 1
Регистрация: 23.12.2011
Сообщений: 79
#1

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

12.05.2012, 21:33. Просмотров 494. Ответов 4
Метки нет (Все метки)

Проблема состоит в том, что если я пытаюсь перенести параметры создания окна в 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 то все нормально компилируется и запускается, но после нажатия на запуск что-то происходит но онка так и не появляется.

Подскажите в чем проблема и что я не так делаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2012, 21:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос OpenGL, проблема с функциями. (C++):

Проблема с виртуальными функциями - C++
Привет. Столкнулся с небольшой проблемой, касательно виртуальных функций. Стыдно спрашивать, ибо это нечто элементарное. Просто я уже...

проблема со структурой и функциями - C++
Задание: 1. Описать структуру с именем ZNAK, содержащую следующие поля: • фамилия, имя; • знак Зодиака; • день рождения (массив из...

Удаление узла бинарного дерева, проблема с функциями, адресацией - C++
код: #include &lt;cstdlib&gt; #include &lt;iostream&gt; typedef struct tree{ // обьявляем тип char data; //дата изьятия в формате xx.xx.xxxx ...

Работа с функциями - C++
Пожалуйста помогите с прогой !))) *Задан массив А(20). Определить знакопеременную сумму а1*–*а2*+*а3*–*а4*+*…. Прогу я сделал с...

работа с функциями , С++ - C++
Написать функцию для вычисления максимального значения элементов главной диагонали матрицы целых чисел a. 1. Массивы и их размеры...

Работа с функциями - C++
Помогите кто может с программой! Очень нужно, для будущего авиации))) Вычислить сумму значений функций Z=f(u,t) Z=f(sinX+cosY, X+Y) +...

4
antoha398
156 / 156 / 3
Регистрация: 29.03.2012
Сообщений: 418
12.05.2012, 21:49 #2
попробуй сначала так
void main(int argc, char **argv)
{
void window(argc, argv);
}
0
Stochfard
4 / 4 / 1
Регистрация: 23.12.2011
Сообщений: 79
12.05.2012, 21:53  [ТС] #3
если я ставлю void для window то тот же эффект что и при ретурн 0. т.е. окно не появляется просто
0
antoha398
156 / 156 / 3
Регистрация: 29.03.2012
Сообщений: 418
12.05.2012, 22:57 #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;
}
1
Stochfard
4 / 4 / 1
Регистрация: 23.12.2011
Сообщений: 79
13.05.2012, 00:20  [ТС] #5
действительно работает.
Странно =)
Спасибо =))
0
13.05.2012, 00:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2012, 00:20
Привет! Вот еще темы с ответами:

Разбираюсь с функциями - C++
Не работает код, пишет функция не принимает 2 аргумента. Помогите устранить проблему Вот код: #include &lt;iostream&gt; using...

Хэлп с функциями - C++
1.Написать функцию, которая умножает поэлементно 2 массива. Параметрами функции должны быть оба массива и массив, в который записывается...

Работа с функциями - C++
Помогите решить эту задачу: С другом сидели и сделали так (на Си): #include &lt;stdio.h&gt; int get_matrix_sum(int* matrix, int width,...

Не получается с функциями - C++
Народ! Только начал изучать функции. И вот появилась такая проблема: почему у меня 2 раза программа запрашивает ввод чисел для вычитания???...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru