Название: [РЕШЕНО] Как включить антиалиасинг в OpenGL? Отправлено: navrocky от Март 05, 2013, 16:38 Рисую в QGLWidget. Знатоки, подскажите, как грамотно включить антиалиасинг в сцене?
Вот такая штука не работает: Код
Название: Re: Как включить антиалиасинг в OpenGL? Отправлено: navrocky от Март 06, 2013, 11:03 Что, совсем никто не знает ???
Название: Re: Как включить антиалиасинг в OpenGL? (OFFTOP) Отправлено: Figaro от Март 06, 2013, 11:21 Не любитель я OpenGL, но тему такую видел то ли на РСДН, то ли на Stackoverflow...
Название: Re: Как включить антиалиасинг в OpenGL? Отправлено: Igors от Март 06, 2013, 11:33 Ну знать тут особо нечего :) Во всяком случае Ваши 2 строчки лучше переставить местами (или вообще не делать glEnable для этой переменной). Если не поможет - попробуйте GL_FASTEST, дальше компилите любой примерчик с анти-алиасом и смотрите работает ли там
Название: Re: Как включить антиалиасинг в OpenGL? Отправлено: ssoft от Март 06, 2013, 12:45 OpenGL функциями так:
Код:
значения mode Код: mode = GL_POINT_SMOOTH; // для точек Если используется QPainter, нужно не забывать Код: QPainter painter(this); Если не помогает, то нужен пример, когда не работает. Название: Re: Как включить антиалиасинг в OpenGL? Отправлено: mitrich от Март 06, 2013, 15:02 GL_POLYGON_SMOOTH - неудобная и устаревшая функциональность, оставленная для обратной совместимости.
Использовать надо мультисэмплинг. Для его включения, необходимо чтобы контекст отображения OpenGL создавался с поддержкой мультисэмплинга. Перед созданием QGLWidget: Код
После: Код
Название: Re: Как включить антиалиасинг в OpenGL? Отправлено: navrocky от Март 07, 2013, 13:20 GL_POLYGON_SMOOTH - неудобная и устаревшая функциональность, оставленная для обратной совместимости. Использовать надо мультисэмплинг. Для его включения, необходимо чтобы контекст отображения OpenGL создавался с поддержкой мультисэмплинга. Два чая этому господину! Отлично работает. |