Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Установка мультисэмплинга в OpenGL

1.9K
05 января 2009 года
GreenRiver
451 / / 20.07.2008
Добрый день, уважаемые форумчане! :)

Я для удобства работы с OpenGL использую компонент TOpenGLAPPanel, у него есть свойство MultiSample (true/false). Мультисэмпл работает, но его качество зависит от ширины панели (при некоторых значениях толщина линий становится разной, хотя они одинаковы), видимо нужно повысить качество мультисэмпла?!

Интересуют именно стандартные процедуры OpenGL для управления качеством мультисэмпла, все что я нашел в интернете - это сторонние библиотеки-надстройки.

P.S. Поздравляю Всех с наступившим Новым Годом!!! :)
9
05 января 2009 года
Lerkin
3.0K / / 25.03.2003
Расширение: GL_ARB_multisample
Версия OpenGL: 1.3
Документация: Здесь

P.S. Использовать расширения OpenGL, надеюсь, умеешь? Но имей ввиду, что на разных видеокарточках эффект выглядит по-разному.
1.9K
06 января 2009 года
GreenRiver
451 / / 20.07.2008
Цитата: Lerkin
Расширение: GL_ARB_multisample
Версия OpenGL: 1.3
Документация: Здесь

P.S. Использовать расширения OpenGL, надеюсь, умеешь? Но имей ввиду, что на разных видеокарточках эффект выглядит по-разному.



Пришлось править исходники компонента, формат пикселя инкапсулируется классом. За инфу спасибо! Вроде помогло, но все равно вид линии зависит от ее положения, понимаю что это логично, но не очень эстетично получается, особенно когда линии паралельны. Пусть пока так неказисто будет :)

9
06 января 2009 года
Lerkin
3.0K / / 25.03.2003
Цитата: GreenRiver
... но все равно вид линии зависит от ее положения, понимаю что это логично, но не очень эстетично получается, особенно когда линии паралельны...


Ну кинь экранку, поглядим...

1.9K
06 января 2009 года
GreenRiver
451 / / 20.07.2008
Цитата: Lerkin
Ну кинь экранку, поглядим...



Это при 4х-мультисэмпле, в компоненте он такой и стоит. Я решил не менять, чтобы не было проблем с совместимостью, а то мало ли какие проблему будут с другими видео-карточками.
Сверху: линии при разном масштабировании сцены...
Снизу: изменение размеров формы

Тут не суть, что изменять масштаб или размер области рисование: в конечном итоге все равно происходит пересчет ортографической проекции:

Код:
float w = ModelView->Width;
    float h = ModelView->Height;
    if (h == 0) h = 1;
    glViewport(0,0,w,h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    float Scale = CameraScale;
    float x = CameraX / Scale;
    float y = CameraY / Scale;

    w = w / 2 / Scale;
    h = h / 2 / Scale;


    glOrtho(-w + x, w + x, -h + y, h + y, 1.0, -1.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
1.9K
11 января 2009 года
GreenRiver
451 / / 20.07.2008
В общем вывод: мультисэмпл не позволяет получить требуемое качество для такого вида рисунков. Не для того он создан.
Тема закрыта.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог