Я пытаюсь нарисовать сферы на экране, не удаляя их (чтобы получить эффект «следов» короля) с OpenGL (glut).Мерцание на полноэкранном режиме
У меня также есть текст на экране, который я хочу, чтобы читать, поэтому я должен вручную нарисовать черный прямоугольник над старым текстом, а затем нарисовать новый.
Дело в том, я хочу, чтобы превратить «следы» вкл/выкл во время работы, но Ive столкнулись с очень странные проблемы:
Когда я одного буферизацию, все прошло просто отлично, но когда я перешел на двойной буферизации и использовал только передний буфер, я начал мерцать над текстом. Это произошло только в полноэкранном режиме. В оконном режиме с таким же разрешением (1920x1080) нет мерцания, хотя я получаю тот же fps (около 250).
Кто-нибудь знает, что вызывает это и почему?
Что означает «используемый только передний буфер»? Вы используете 'glutSwapBuffers()', то есть как избежать мерцания в приложениях с двойной буферизацией. – psalvaggio
Нет, только наоборот. Я избегаю использования glutSwapBuffers, чтобы получить однобуферизацию. Я хочу иметь возможность переключаться между одиночной и двойной буферизацией. Мне нужна одиночная буферизация, чтобы получить эффект тропы, не рисуя все дважды. –
У меня всегда складывалось впечатление, что вы переключались между ними, передавая 'GLUT_SINGLE' или' GLUT_DOUBLE' 'glutInitDisplayMode'. Я нашел этот пример, может быть, он может помочь: http://www.sgi.com/products/software/opengl/examples/glut/examples/source/sb2db.c – psalvaggio