LINUX.ORG.RU

<OpenGL> xf86-video-ati и сглаживание(antialising)?


0

1

На карточке HD5670 с драйверами xf86-video-ati не могу заставить OpenGL сглаживать пиксели в линии.
Отрывок кода:

	glEnable(GL_LINE_SMOOTH);
	glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
	glEnable(GL_BLEND);
	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
	// <...>
	glBegin(GL_LINES);
	{
		glColor3f(0.0f, 0.0f, 1.0f);
		glVertex2f(-0.75f, 0.25f);
		glColor3f(0.0f, 1.0f, 0.0f);
		glVertex2f(0.75f, -0.25f);
	}
	glEnd();
Стабильно получаю вот такое: http://ompldr.org/vYnQ5NQ
Дело в драйвере? && Возможно как то научить тогда их сглаживанию? Очень очень не хочется проприетарщину.


На этих драйверах не проверял, но можно попробоавть GL_MULTISAMPLE_ARB

user_2190
()

Антиалиазинг достигается разными методами.

Уже предлагали мультисемплинг - простой в реализации метод, однако по производительности не самый лучший.

glEnable(GL_LINE_SMOOTH); и др. за счёт блендинга - советую забыть. Хотя для определённых задач может пригодится.

Не хочешь проприетарные дрова - «наслаждайся» тем что есть.

rip86oz
()

Дело в драйвере? && Возможно как то научить тогда их сглаживанию? Очень очень не хочется проприетарщину.

Результат GL_LINE_SMOOTH очень сильно зависит от драйвера. И если у тебя все гладко и красиво, то это не означает, что и у других будет также. Включай мультисэмплинг и наслаждайся )) Либо можешь делать прозрачность линий другими путями, например полупрозрачными полигонами.

Amp ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.