2011-04-15 2 views
0

OpenGL이나 다른 API에서 텍스처 클램핑이 어떻게 작동하는지 이해하려고합니다. 나는 당신이 연산을 [0,1]에서 어떤 것으로 확장하는 것으로 정의하지만 그것을 가장자리에 고정시키는 사실을 알고있다.질감 주소 모드 클램핑, 어떻게 작동합니까?

그래서, 나는 의사 코드 기능이있는 경우 :

http://wwwx.cs.unc.edu/~sud/courses/236/a6/small/tex_0_clamp.png

오른쪽

unsigned int clampedTexel(float u, float v)
{
if(u < 0) u = 0;
if(u >= width) u = width-1;
if(v < 0) v = 0;
if(v >= height) v = height-1;
return image[u][v];

}? 그래서, 만약 내가 u 방향에서 1.1과 같이 범위를 벗어나면, 왜 결국 검은 색으로 고정되지 않습니까? 검은 색이 아니라이 예제에서는 흰색으로 이동합니다. 내가 뭔가 잘못 이해 한거야? 검정 옆에있는 값이 흰색으로 고정 된 이유는 무엇입니까?

또는 가장자리 색상과 교대로 나타나는 다른 모든 확장자. 내가 어디에서 실패했는지 볼 수있게 도와주세요.

+0

는, 그것은을위한 V 같은 그리고 유 미만 0 같은 1이고 V 그러나 단지 빅 블랙 공백은 의미가 있습니다 (1.5, 1.5는 1.0과 1.0이 검정색입니다.) – Curiosity

답변

4

문제가 발생한다고 생각합니다. 텍스처의 맨 위 행이 실제로 "흰색/검정색"교대 라인이 아니라 "흑백"라인이되는 것을 간과하고 있습니다. 따라서 흰색/검정을 반복하는 맨 위 행이 맞습니다. 비슷한 상황이 마지막 가장자리가 흑백이 아닌 흰색/검은 색으로 반복되는 오른쪽 가장자리에서 발생합니다. . 여기

는 개요와 질감이다. u는 1보다 큰 경우

enter image description here 기본적으로

+1

아스키 아트를 초기 이미지로 변경했습니다. 괜찮 으면 좋겠습니까? – Bahbar

+0

감사합니다. 설명이 도움이됩니다. 나는 막연하게 걱정합니다. 이미지가 어떤 시점에서 사용할 수 없게되지만 아무것도 없습니다. 너무 나쁜 스택 오버플로도 이미지를 호스팅하지 않습니다. –

+0

메타 토론,하지만 SO의 업로드를 사용했습니다. 잘하면 그들이 h를 사용합니다. ave와 일종의 관계를 가보십시오! – Bahbar

관련 문제