Russian Qt Forum
Ноябрь 23, 2024, 10:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGraphicsView & QGLWidget сглаживание  (Прочитано 6723 раз)
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« : Август 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
Записан
kamre
Частый гость
***
Offline Offline

Сообщений: 233


Просмотр профиля
« Ответ #1 : Август 14, 2013, 23:19 »

В openGL же вроде pixel-perfect вообще не бывает. На разных карточках по разному может рендериться.

Заметил когда-то, что на windows с nvidia рендеринг зависит от настройки "Antialiasing - Gamma correction" в NVIDIA Control Panel.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #2 : Август 14, 2013, 23:50 »

я на pixel-perfect не расчитываю конечно, но и так оставлять это страшно, если я еще и текст пытаюсь написать то там вообще тихий ужас, про сглаживание даже можно не говорить. Думается можно сделать вывод гораздо лучше.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Август 15, 2013, 09:49 »

Attach - сглаживание "просто OpenGL" (без Qt), минимальное, 4 сампла. И да, от карты зависит

[offtop]
Счастливые люди, для них антиалиас - просто установка чего-то Улыбающийся А у меня часто геморрой бОльший чем сама задача

Edit: виноват, забыл аттач, вот он
« Последнее редактирование: Август 15, 2013, 12:31 от Igors » Записан
Disa
Гость
« Ответ #4 : Август 15, 2013, 11:21 »

Цитировать
А у меня часто геморрой бОльший чем сама задача

Какой именно?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Август 15, 2013, 12:36 »

Какой именно?
Ну вот напр надо раскрасить объект как в клеточку, кака шахматная доска, казалось бы что тут сложного. А что будете делать если объект мал или он далеко? (типа 5 клеток в одном пыкселе)
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #6 : Август 15, 2013, 13:15 »

Перенес пример на винду, там естественно карточка другая и сглаживание по другому работает, видимо действительно проблема в этом была. Спасибо за помощь Улыбающийся
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #7 : Октябрь 12, 2013, 21:06 »

На пятом Qt все уже риусется принудительно в GL. Качество хорошее.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #8 : Октябрь 13, 2013, 13:50 »

На пятом Qt все уже риусется принудительно в GL. Качество хорошее.

Это конечно замечательно, но пока нет возможности перевести проект на 5ый Qt.
Записан
Disa
Гость
« Ответ #9 : Октябрь 21, 2013, 09:49 »

Что-то закапался на работе и давно сюда не заходил...
Немного оффтоп to Igors:
Так чем не устраивает би- или трилинейная фильтрации или суперсемплинг? Погоня за производительностью?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #10 : Октябрь 22, 2013, 12:05 »

Немного оффтоп to Igors:
Так чем не устраивает би- или трилинейная фильтрации или суперсемплинг? Погоня за производительностью?
Если и оффтоп, то полезный. Вы так говорите как будто все эти вещи у Вас в кармане  Улыбающийся Bilinear хорош для увеличения, но не наоборот. Трилинейная - не знаю как Вы ее здесь примените. Суперсамплинг - да, но его же надо делать, и это совсем непросто. Хотя бы определить покрываемую пикселем площадь - уже заботы. Взять соседние пиксели также не так легко как может показаться - напр при наличии UV.

И это простейший атрибут - диффузный цвет. А как будете самплить напр блики (specular)? Или надеетесь отсидеться за широкой спиной карты/OpenGL?  Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 23.