Название: QPainter рисует текст в полосочку (OpenGL) [Решено] Отправлено: Torvald от Май 15, 2017, 17:57 Рисую текст на QOpenGLWidget, в методе paintGL через QPainter:
Код
Все переменные я переименовал для упрощения, гарантируется, что у них адекватные тип и значения. На всех ПК текст выглядит нормально, и только на одном (видеокарта GeForce GT 630) отображается в полосочку (скриншот). В чем может быть проблема? Название: Re: QPainter рисует текст в полосочку (OpenGL) Отправлено: ssoft от Май 15, 2017, 18:41 Проблема может быть во включенном сглаживании для полигонов, хотя это не свойственно для видеокарт NVIDIA.
Название: Re: QPainter рисует текст в полосочку (OpenGL) Отправлено: Torvald от Май 15, 2017, 18:44 Тоже подумал про сглаживание, но во-первых странная организация полигонов, а во-вторых видеокарта не того уровня, чтобы косячить на сглаживании.
Название: Re: QPainter рисует текст в полосочку (OpenGL) Отправлено: Igors от Май 16, 2017, 10:52 Проверить stencil буфер, напр на всякий случай обнулить его перед выводом текста. А вообще это довольно больное место, многие вызовы gl могут мешать последующему выводу текста. Начать с полного отключения gl рисования (оставить только текст)
Да, и кстати - на форуме есть раздел OpenGL Название: Re: QPainter рисует текст в полосочку (OpenGL) Отправлено: Torvald от Май 22, 2017, 20:00 Вот что происходит, если отключить сглаживание. При этом полоски при малом масштабе остались.
Очистка стенсила не помогла. Название: Re: QPainter рисует текст в полосочку (OpenGL) Отправлено: Torvald от Май 22, 2017, 20:28 Разобрался. Во всем виноват glEnable(GL_POLYGON_SMOOTH)
А ведь сталкивался с этим лет 7 назад.. |