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();
Установка мультисэмплинга в OpenGL
Я для удобства работы с OpenGL использую компонент TOpenGLAPPanel, у него есть свойство MultiSample (true/false). Мультисэмпл работает, но его качество зависит от ширины панели (при некоторых значениях толщина линий становится разной, хотя они одинаковы), видимо нужно повысить качество мультисэмпла?!
Интересуют именно стандартные процедуры OpenGL для управления качеством мультисэмпла, все что я нашел в интернете - это сторонние библиотеки-надстройки.
P.S. Поздравляю Всех с наступившим Новым Годом!!! :)
Версия OpenGL: 1.3
Документация: Здесь
P.S. Использовать расширения OpenGL, надеюсь, умеешь? Но имей ввиду, что на разных видеокарточках эффект выглядит по-разному.
Цитата: Lerkin
Расширение: GL_ARB_multisample
Версия OpenGL: 1.3
Документация: Здесь
P.S. Использовать расширения OpenGL, надеюсь, умеешь? Но имей ввиду, что на разных видеокарточках эффект выглядит по-разному.
Версия OpenGL: 1.3
Документация: Здесь
P.S. Использовать расширения OpenGL, надеюсь, умеешь? Но имей ввиду, что на разных видеокарточках эффект выглядит по-разному.
Пришлось править исходники компонента, формат пикселя инкапсулируется классом. За инфу спасибо! Вроде помогло, но все равно вид линии зависит от ее положения, понимаю что это логично, но не очень эстетично получается, особенно когда линии паралельны. Пусть пока так неказисто будет :)
Цитата: GreenRiver
... но все равно вид линии зависит от ее положения, понимаю что это логично, но не очень эстетично получается, особенно когда линии паралельны...
Ну кинь экранку, поглядим...
Цитата: Lerkin
Ну кинь экранку, поглядим...
Это при 4х-мультисэмпле, в компоненте он такой и стоит. Я решил не менять, чтобы не было проблем с совместимостью, а то мало ли какие проблему будут с другими видео-карточками.
Сверху: линии при разном масштабировании сцены...
Снизу: изменение размеров формы
Тут не суть, что изменять масштаб или размер области рисование: в конечном итоге все равно происходит пересчет ортографической проекции:
Код:
Тема закрыта.