Как обрабатывать opengl black screen после обновления до macos mojave 10.14 ?
Как вы, возможно, знаете, OpenGL теперь устарел в последней версии MacOS Mojave (10.14). Я использую OpenGL + GLUT (я знаю, что это старая, но мне просто нужна простая программа) и запускаю на терминале (не используя Xcode). С помощью той же программы, которая отлично работала в Sierra , я получил так много устаревших предупреждений OpenGL в Mojave и сумел подавить все предупреждения, используя-Wno-deprecated-объявления, но теперь я получил только черный экран.
Я читал много таких же проблем с черным экраном на OpenGL после обновления Mojave в StackOverflow. Но на данный момент лишь немногие из них действительно приняли ответ, и ответы не работают на меня. Поэтому, когда я запускаю его, иногда он визуализируется, а иногда это просто черный экран.
Это моя главная петля :
static void mainLoop(void) { glClearColor(0,0,0,0); glClear(GL_COLOR_BUFFER_BIT); //glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_FRAMEBUFFER_SRGB); argDrawMode2D(vp); //draw to the screen char string[256]; glColor3f(1,1,1); sprintf(string, "Some strings", string1 ); argDrawStringsByIdealPos( string, 10.0, 25.0 ); argSwapBuffers(); //clear the buffer glFlush(); }
Что я уже пробовал:
Что я уже пробовал :
1. Изменение glFlush() в glutSwapBuffers() сбросить без звонка
2. Измените glClear(GL_COLOR_BUFFER_BIT) на glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); (это вызывает еще большее предупреждение)
3. Попробуйте изменить размер экрана. Все еще есть черный экран
4. обновите компилятор Xcode для терминала
[ОБНОВЛЕНИЕ]
Шаг 3 выше : попробуйте изменить размер окна с помощью reshape.
Этот, кажется, немного работает после того, как я перешел в полноэкранный режим, следуя этому 'Hack Мохаве' чтобы изменить размер окна до другого размера, чем исходный размер. Это не удалось, когда я установил другой размер (меньше/больше), но когда я установил в полноэкранный режим с помощью
glutFullScreen();мой экран визуализирован, на данный момент переход кадра не является плавным, и я все еще работаю над ним.
Кроме того, я устанавливаю свой fps в 60 кадров в секунду и распечатываю их на клемме И после этого взлома я получил случайный fps от 100-200 fps здесь, несмотря на то, что моя частота обновления Mac составляет всего 90 Гц. Это происходит потому, что команда resize, когда я закомментировал команду resize, я получил черный экран, но напечатанный fps в терминале правильный (около 60 кадров в секунду). Итак, все еще нужно предложение здесь или другое решение, а не изменение размера.
Все тот же черный экран. Есть предложения ?