OpenGL: GL_LINE_SMOOTH, не поддерживаемый на всех картах; привычка даже проводит линии, если

В первую очередь, какова цель этого кода?

glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);

Я мог поместить там GL_DONT_CARE но это не делает мои строки оттянутыми, если я не использую glDisable(GL_LINE_SMOOTH)

Таким образом, я спрашиваю, существуют ли некоторые созданные в механизме, чтобы заставить его провести линии, даже если бы ровные линии не поддерживаются (Таким образом, это потянуло бы их без antialising...),

Или я должен сделать собственные функции для него и проверяющий, поддерживаются ли ровные линии и т.д.... и каждый раз, когда я хочу провести ровные линии, я должен вызвать эту функцию, которая проверяет действительно ли его поддерживаемый? argh.

Править: Линии являются ровными на моей другой карте, на моей другой карте они даже не обнаруживаются, если я не отключаю ровные линии. Таким образом, это - проблема, не glEnable (GL_BLEND)

6
задан 23 January 2010 в 18:31
поделиться

1 ответ

Глянт Как подразумевает название, представляет собой подсказку для драйвера. Это не нужно ничего добиваться. Фактическое функционирование Глянт зависит от графического драйвера.

Также, чтобы включить line_smooth ing, вам необходимо включить смешивание. Вы включили GL_BLEND ? И пока вы на этом, выберите свой Glblend Func тоже!

Пример:

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
5
ответ дан 17 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: