Я пытаюсь понять, как работает сжатие текстур в OpenGL или любом другом API в этом отношении. Я осознаю тот факт, что вы определяете операцию как расширение диапазона от [0,1] до чего угодно, но прижимаете его к краю.
Итак, если у меня есть функция псевдокода:
unsigned int clampedTexel(float u, float v)<br>
{<br>
if(u < 0) u = 0;<br>
if(u >= width) u = width-1;<br>
if(v < 0) v = 0;<br>
if(v >= height) v = height-1;<br>
return image[u][v];</p>
<p>}
http://wwwx.cs.unc.edu/~sud/courses/236/a6/small/tex_0_clamp.png
Правильно? Итак, если я выйду за пределы диапазона, например, 1.1 в направлении u, почему он не закреплен на черном цвете, который находится в конце? Вместо черного в этом примере он становится белым. Я что-то не так понял? Почему значение рядом с черным становится белым?
Или любое другое расширение, чередующееся с цветом края.
Помогите мне увидеть, где я терплю неудачу, пожалуйста.