0 / 0 / 0
Регистрация: 09.09.2012
Сообщений: 16
|
|
1 | |
Open GL, не запускаются приложения с его использованием30.04.2013, 22:13. Показов 2375. Ответов 28
Метки нет (Все метки)
Пишу на Visual C++ 2010, если написать совсем простенькую программку с использование open GL то работает нормально, но а если чуть посложнее, то из самой среды, после компиляции, запускается и работает нормально. А если ЭТОТ ЖЕ, только что скомпилированый *.exe, запустить просто кликнув на него то он работает первые секунд 5 нормально, потом окно open GL зависает. Не знаю что с этим можно поделать, пробовал несколько версий Visual Studio, а то вдруг с ним что не так. Все файлы *.dll *.lib для работы с open GL закинуты кода надо, все библиотеки и заголовочные файлы указаны в самом коде. ведь оно работает при запуске внутри среды. Подскажите пожалуйста...
0
|
30.04.2013, 22:13 | |
Ответы с готовыми решениями:
28
Не запускаются приложения Не запускаются приложения Не запускаются приложения не запускаются приложения |
02.05.2013, 12:14 | 21 |
В main() добавлена функция glutKeyboardUpFunc(up);. Она вызывает функцию-обработчик (в данном случае up()) каждый раз, когда нажимается клавиша клавиатуры. В up() снова вызывается display()
Очистка буффера глубины. Для твоей программы он не важен - всё равно только одна точка рисуется в двумерной системе. Но лучше завести привычку добавлять его. Посмотри в гугле буффер глубины. Я едва ли смогу доступно объяснить.
1
|
0 / 0 / 0
Регистрация: 09.09.2012
Сообщений: 16
|
|
02.05.2013, 13:55 [ТС] | 22 |
это что то типа отсечение всего лишнего во всем этом 3д пространстве?
Добавлено через 5 минут и еще вопросик, я вот убрал GL_COLOR_BUFFER_BIT и получилась такая своеобразная рисовалка) но при развертывании оупенджейловского окна на весь экран все стирается, не знаете случайно что для этого нужно сделать, чтоб не стиралось?
0
|
02.05.2013, 14:32 | 23 | |||||
В первоначальном варианте она и была.
glClear(GL_COLOR_BUFFER_BIT) очищает цветовой буффер. Если хочешь, чтобы сохранялся рисунок, придётся либо сохранять каждый шаг в каком-нибудь массиве (глупо, правда), либо представить пространство (точнее, плоскость) в виде двумерного массива и работать как с картой. Например, так:
1
|
0 / 0 / 0
Регистрация: 09.09.2012
Сообщений: 16
|
|
02.05.2013, 15:43 [ТС] | 24 |
это он тут каждый раз все стирает и заново всю територию прорисовывает опираясь на данные из массива который пополняется ими всякий раз при нажатии?
Добавлено через 3 минуты float nx = float(i)*0.01 - 0.5, ny = float(j)*0.01 - 0.5; эта строчка переводит место в массиве в координаты?
0
|
02.05.2013, 16:02 | 25 | |||||
Да. В графике это обычное дело. Для оптимизации можно, например, создать ещё массива, в которых будут храниться координады (чтобы не вычислять их каждый раз), а можно в структуру запихать координаты и цвет, а затем уже массив таких структур объявить вместо массива цветов.
Не пополняется, а меняет значение определённого элемента. Добавлено через 34 секунды Верно. Про оптимизацию я выше написал Добавлено через 11 минут Или, например, координатное пространство изменить так, чтобы ничего не надо было преобразовывать.
1
|
Герц
|
02.05.2013, 16:19
#26
|
0
|
0 / 0 / 0
Регистрация: 09.09.2012
Сообщений: 16
|
|
02.05.2013, 16:48 [ТС] | 27 |
А что это за "m" после "x" и "y" в апреле, какое то дополнение к переменной?
0
|
02.05.2013, 17:11 | 28 | ||||||||||
glutKeyboardUpFunc() принимает в качестве параметра имя функции, прототип которой имеет вид:
1
|
0 / 0 / 0
Регистрация: 09.09.2012
Сообщений: 16
|
|
02.05.2013, 17:22 [ТС] | 29 |
ага) понятно и доходчиво))
и как я сразу не догадался изменение цвета в этом же дисплее делать)))
0
|
02.05.2013, 17:22 | |
02.05.2013, 17:22 | |
Помогаю со студенческими работами здесь
29
Не запускаются приложения (Win 7) Не запускаются приложения Windows 7. Долго запускаются приложения Не запускаются DOS-приложения. Не устанавливаются, не запускаются приложения Не запускаются приложения в Windows 7 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |