Название: QGraphicsView & QGLWidget сглаживание Отправлено: ecspertiza от Август 14, 2013, 20:36 Всем привет, необходимо QGraphicsView в качестве вьюпорта задать QGLWidget ,что бы отрисовка была пошустрее, но замечается сильное падение в качестве по сравнению с нативной графикой. Я сначала думал ,что это из за сглаживание, начал копать в эту сторону и посмотрел , что необходимо задать просто SampleBuffer для QGLFormat. Это отчасти решило проблему, но артефакты все равно остаются вот примеры
это отрисовка с нативной графикой http://joxi.ru/Ir8LUtg5CbCLO63hUdc это с QGlWidget http://joxi.ru/Vr8LUtg5CbBcPKNakp0 а это с QGlWidget + SampleBuffer http://joxi.ru/f78LUtg5CbD6O_jOeow видны рваные края. Возникает вопрос можно ли добиться лучшего результата при использовании QGlWidget в качестве вьюпорта ? система MacOS 10.7 Название: Re: QGraphicsView & QGLWidget сглаживание Отправлено: kamre от Август 14, 2013, 23:19 В openGL же вроде pixel-perfect вообще не бывает. На разных карточках по разному может рендериться.
Заметил когда-то, что на windows с nvidia рендеринг зависит от настройки "Antialiasing - Gamma correction" в NVIDIA Control Panel. Название: Re: QGraphicsView & QGLWidget сглаживание Отправлено: ecspertiza от Август 14, 2013, 23:50 я на pixel-perfect не расчитываю конечно, но и так оставлять это страшно, если я еще и текст пытаюсь написать то там вообще тихий ужас, про сглаживание даже можно не говорить. Думается можно сделать вывод гораздо лучше.
Название: Re: QGraphicsView & QGLWidget сглаживание Отправлено: Igors от Август 15, 2013, 09:49 Attach - сглаживание "просто OpenGL" (без Qt), минимальное, 4 сампла. И да, от карты зависит
[offtop] Счастливые люди, для них антиалиас - просто установка чего-то :) А у меня часто геморрой бОльший чем сама задача Edit: виноват, забыл аттач, вот он Название: Re: QGraphicsView & QGLWidget сглаживание Отправлено: Disa от Август 15, 2013, 11:21 Цитировать А у меня часто геморрой бОльший чем сама задача Какой именно? Название: Re: QGraphicsView & QGLWidget сглаживание Отправлено: Igors от Август 15, 2013, 12:36 Какой именно? Ну вот напр надо раскрасить объект как в клеточку, кака шахматная доска, казалось бы что тут сложного. А что будете делать если объект мал или он далеко? (типа 5 клеток в одном пыкселе) Название: Re: QGraphicsView & QGLWidget сглаживание Отправлено: ecspertiza от Август 15, 2013, 13:15 Перенес пример на винду, там естественно карточка другая и сглаживание по другому работает, видимо действительно проблема в этом была. Спасибо за помощь :)
Название: Re: QGraphicsView & QGLWidget сглаживание Отправлено: Fregloin от Октябрь 12, 2013, 21:06 На пятом Qt все уже риусется принудительно в GL. Качество хорошее.
Название: Re: QGraphicsView & QGLWidget сглаживание Отправлено: ecspertiza от Октябрь 13, 2013, 13:50 На пятом Qt все уже риусется принудительно в GL. Качество хорошее. Это конечно замечательно, но пока нет возможности перевести проект на 5ый Qt. Название: Re: QGraphicsView & QGLWidget сглаживание Отправлено: Disa от Октябрь 21, 2013, 09:49 Что-то закапался на работе и давно сюда не заходил...
Немного оффтоп to Igors: Так чем не устраивает би- или трилинейная фильтрации или суперсемплинг? Погоня за производительностью? Название: Re: QGraphicsView & QGLWidget сглаживание Отправлено: Igors от Октябрь 22, 2013, 12:05 Немного оффтоп to Igors: Если и оффтоп, то полезный. Вы так говорите как будто все эти вещи у Вас в кармане :) Bilinear хорош для увеличения, но не наоборот. Трилинейная - не знаю как Вы ее здесь примените. Суперсамплинг - да, но его же надо делать, и это совсем непросто. Хотя бы определить покрываемую пикселем площадь - уже заботы. Взять соседние пиксели также не так легко как может показаться - напр при наличии UV.Так чем не устраивает би- или трилинейная фильтрации или суперсемплинг? Погоня за производительностью? И это простейший атрибут - диффузный цвет. А как будете самплить напр блики (specular)? Или надеетесь отсидеться за широкой спиной карты/OpenGL? :) |