방금 openGL을 배우기 시작했으며 밉맵으로 구를 텍스처링 할 때이 유물을 얻었습니다. 기본적으로 프래그먼트가 텍스처의 가장자리를 샘플링 할 때 불연속성을 감지하고 (1에서 0까지) 가장 작은 밉맵을 선택하여이 못생긴 이음새를 만듭니다.
못생긴 심 http://cdn.imghack.se/images/6bbe0ad0173cac003cd5dddc94bd43c7.png
그래서 textureGrad를 사용하여 그라디언트를 수동으로 무시하려고했습니다.
//fragVert is the original vertex from the vertex shader
vec2 ll = vec2((atan(fragVert.y, fragVert.x) / 3.1415926 + 1.0) * 0.5, (asin(fragVert.z) / 3.1415926 + 0.5));
vec2 ll2 = ll;
if (ll.x < 0.01 || ll.x > 0.99)
ll2.x = .5;
vec4 surfaceColor = textureGrad(material.tex, ll, dFdx(ll2), dFdy(ll2));
이제 하나가 아닌 두 개의 이음새가 생깁니다. 어떻게 제거 할 수 있습니까? 그리고 왜 위의 코드가 2 개의 이음새를 생성합니까?
2 개 http://cdn.imghack.se/images/44a38ef13cc2cdd801967c9223fdd2d3.png
두 이미지에서 말할 수는 없지만 2 개의 이음새는 원래 이음새의 양쪽에 있습니다.