Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: freeglut не инициализируется окно  (Прочитано 1254 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kolodyazhnyj

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
freeglut не инициализируется окно
« : 17 Марта 2011, 10:22:42 »
Доброго времени суток!
Столкнулся со следующей проблемой. Нужно было смоделировать колебания n грузиков на одинаковых пружинках (отклонения грузиков от положения равновесия). Решил написать программу на c и opengl. Вот пример программы:
(Нажмите, чтобы показать/скрыть)

На ноуте поставил пакеты:
Цитировать
freeglut3 freeglute-dev freeglut3-dbg
. Все собралось, скомпилировалось, запустилось и, главное, заработало!

На домашнем компьютере поставил такие же пакеты. Опять таки, собралось, скомпилировалось, запустилось, но окно программы не появляется.

Прошу прощения за некоторый сумбур и жуткий код.

Оффлайн EvilDev

  • Любитель
  • *
  • Сообщений: 66
    • Просмотр профиля
Re: freeglut не инициализируется окно
« Ответ #1 : 17 Марта 2011, 10:30:16 »
Юзай SDL или QT

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: freeglut не инициализируется окно
« Ответ #2 : 17 Марта 2011, 12:59:33 »
Цитировать
На домашнем компьютере поставил такие же пакеты. Опять таки, собралось, скомпилировалось, запустилось, но окно программы не появляется.
И что за домашний компьютер, 3D есть?
xUbuntu 12.04

Оффлайн kolodyazhnyj

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: freeglut не инициализируется окно
« Ответ #3 : 17 Марта 2011, 14:36:29 »
:) есть.
Процессор intel core 2 duo e6550;
Видеокарта nvidia geforce  8600 gt (стоит проприетарный драйвер версии current);
2 gb оперативной памяти.

ОС ubuntu 10.10 x86 на обоих компах.

Оффлайн __v1tos

  • Участник
  • *
  • Сообщений: 105
  • Ubuntuu 10.10 x86-64
    • Просмотр профиля
Re: freeglut не инициализируется окно
« Ответ #4 : 17 Марта 2011, 21:49:08 »
У вас   glutMainLoop(); ни когда не  выполняется.


а что это делает?
n++;
   
   float x[n+1], v[n+1];
  for (i=0;i<=n+1;i++)
   {
      x = 0;
      v = 0;
   }
Пардон за сно6изм
AMD Phenom II 945, GA-MA790GPT-UD3H (HD 3300), 5 GiB ram

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: freeglut не инициализируется окно
« Ответ #5 : 18 Марта 2011, 06:22:20 »
полагаю выделяет память на стеке и пытается его обнулить.
скорее всего имелось в виду
Код: (c++) [Выделить]
n++;
float x[n+1], v[n+1];
for (i = 0; i < n+1; ++i) {
    x[i] = 0;
    v[i] = 0;
}
тогда работает. по другому даже не хочет компилиться.
сдаётся мне что kolodyazhnyj врёт и не краснеет. ни хрена у него не собралось и уж тем более не работало ни разу =)
kolodyazhnyj, если я не прав давай сюда командочку которой ты это счастье собрал и оно ажно заработало

Оффлайн kolodyazhnyj

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: freeglut не инициализируется окно
« Ответ #6 : 18 Марта 2011, 20:32:58 »
Yurror, нужно верить людям! :)
Просто криво скопировал. Вот ссылка на код: http://pastebin.com/5jCVhzSi.

А собирал я просто командой:
Цитировать
gcc 2.c -lglut -o 2.o
С кодом, каким бы кривым он не был, проблем нет. Я тему создал в надежде, что такой "глюк" был еще у кого-то.
« Последнее редактирование: 18 Марта 2011, 20:35:34 от kolodyazhnyj »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: freeglut не инициализируется окно
« Ответ #7 : 19 Марта 2011, 09:58:37 »
Да, каюсь. Этот баг форума уже задрал, если честно. Вот так хочешь кого-нибудь подловить, а он не виноват =(
Но всё равно там ошибки... например вылезание за границы массива. На стэке это слишком чревато. Спасло то что выхода из main не предусмотрено. поэтому в сегфолт и не свалилась прога.
с glutMainLoop(); и циклом while(1) тоже кстати ошибка. но чисто логическая. зря не пользуешься средствами библиотеки а вместо этого городишь свои бесконечные циклы. почитай как glut устроен. это совсем не много. пол часа убьешь максимум.


Оффлайн kolodyazhnyj

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: freeglut не инициализируется окно
« Ответ #8 : 19 Марта 2011, 18:01:55 »
Обязательно прочитаю и изучу! Нужно было за пару часиков разобраться, собственно, с методом Рунге-Кутты и прикрутить графику. Поэтому взял простейший пример из RedBook и переписал под свои нужды.

Смущает одно - на одном компьютере программа работает, на другом нет...
Да, если убрать алгоритм и while(1), то окно все равно не появляется. В списке окон появляется, но самого окна нет.
(Нажмите, чтобы показать/скрыть)

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: freeglut не инициализируется окно
« Ответ #9 : 19 Марта 2011, 18:24:44 »
Зайди в директорию с проектом или там где исполняемый файл если проект не создавал и запусти от туда, если не запустится то попробуй запустить из терминала и посмотри что напишет.
xUbuntu 12.04

Оффлайн amdlintuxos

  • Любитель
  • *
  • Сообщений: 86
    • Просмотр профиля
Re: freeglut не инициализируется окно
« Ответ #10 : 19 Марта 2011, 20:54:00 »
kolodyazhnyj
я два раза наталкивался на бажины в free-glut.
попробуйте использовать glut пакет но не free (удалите free-glut).
У меня глюки проявлялись тоже не на всех машинах
« Последнее редактирование: 19 Марта 2011, 20:55:40 от amdlintuxos »
что не збудется - позабудется

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.