Проблема с OpenGL 4.0 - PullRequest
1 голос
/ 16 мая 2019

Привет, я пытаюсь визуализировать текстуру на прямоугольнике. Я использую GL_CLAMP_TO_BORDER, потому что я не хочу, чтобы текстура повторялась.

glTextureParameteri(id, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
glTextureParameteri(id, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);

Я ожидаю, что результат будет примерно таким: Обратите внимание, что не-тексели имеют серый цвет, который является цветом его лица. enter image description here

Но я получаю этот вывод: enter image description here

Область, упомянутая в № 2, я думаю, может быть решена, если я включу смешивание, но я не получаю никакого решения для области 1. Я знаю, что не поделился ни одним кодом, потому что действительно не могу, есть ли какие-то дополнительные вызовы gl, которые мне нужно сделать, чтобы решить проблему?

1 Ответ

5 голосов
/ 16 мая 2019

GL_CLAMP_TO_BORDER привязывается к цвету границы, определенному в объекте текстуры / сэмплера .То есть текстурные координаты вне диапазона [0, 1] извлекают этот цвет границы.

Если вы не установили этот цвет границы, он, вероятно, будет черным.

Режим фиксацииВы, вероятно, хотите это GL_CLAMP_TO_EDGE.Это означает, что цвет, который вы получаете для извлечений вне диапазона, является цветом ближайших краев текселей текстуры.

...