그래서 Cg에서 픽셀/조각 쉐이더 내에서 텍스처를 구형으로 맵핑해야합니다.Cg 쉐이더에서 구형 텍스처링하기
모든 패스에서 "입력"으로 가지고있는 점은 텍스처를 샘플링하려는 구의 점에 대한 데카르트 좌표 x, y, z입니다. 그때 구형 좌표로 그 좌표를 변환하고, 각 피와 U와 같은 세타를 사용하고 V는 다음과 같이 각각 좌표
u = atan2(y, z)
v = acos(x/sqrt(x*x + y*y + z*z))
나는이 간단한 매핑 구의 만에 극에 솔기를 생산 것이라는 점을 알고있다 순간, 내 문제는 텍스처가 구를 통해 여러 번 반복된다는 것입니다. 필자가 원하고 필요로하는 것은 전체 텍스처가 구 주위를 한 번 정확하게 감싸는 것입니다.
나는 셰이더를 시험해보고 몇 시간 동안 수색했지만 해결책을 찾지 못했습니다. 어딘가에 스케일링을 적용해야한다고 생각하지만 어디서? 또는 어쩌면 내가 완전히 잘못된 트랙에있어, 나는 Cg 및 쉐이더 프로그래밍 전반에 대해 매우 익숙하다. 어떤 도움을 주셔서 감사합니다! 역 삼각 함수의 결과가 각도이기 때문에 (학교에서 획득 한대로, trigonometrics의 적어도 기본 지식과 함께 시간 동안 검색 한 수는 없지만)
StackOverflow에 오신 것을 환영합니다. [FAQ] (http://stackoverflow.com/faq#howtoask)를 읽어 보시기 바랍니다. –