Я пишу программу рисования в Delphi. Пользователь нажимает 2 точки на экране и между ними рисуется линия. Я хочу, чтобы линии были сглажены. Я ставлю этот код в создании процедуры() класса OpenGL (который называется только один раз в начале):OpenGL: Увеличивает количество строк, сменяет сглаживание?
glEnable(GL_LINE_SMOOTH);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
Когда я начинаю рисовать, первый, второй и, возможно, третьи линии рисуются штраф. Но, что интересно, когда число строк увеличивается (скажем, 7, 8 строк), сглаживание начинает срываться! Добавляя каждую строку на экране, она только ухудшается, и края линий начинают становиться похожими на пилообразные!
Я также поставил тот же код в верхней части моей схемы draw(), которая рисует линии (и запускается каждым щелчком мыши), но ничего не меняется.
Я делаю что-то неправильно здесь? У кого-нибудь есть предложение?
Возможно ли, что jaggies зависят от угла? Линии, расположенные вблизи горизонтали или вертикали, обычно становятся менее размытыми, чем промежуточные. –
Нет. Это не тот случай. Он не отличается тем, что является углом или длиной линии. – Mahm00d
У вас есть шанс опубликовать снимок экрана? –