문제

누군가가 레이 트레이서에서 텍스처 미니 화 필터 (텍셀보다 픽셀보다 작을 때 적용)를 구현하는 방법을 알려주는 용지/알고리즘/리소스/를 지적 할 수 있습니까?

감사해요!

도움이 되었습니까?

해결책 4

답변 해 주셔서 감사합니다. 그러나 적절한 TechInque를 찾지 못했기 때문에 나는 매우 잘 작동하는 것을 직접 만들었습니다.

나는 내 광선이 이미지 비행기에 반 픽셀의 코네 라디우스가있는 원뿔이라고 생각합니다. 광선이 표면에 부딪히면 표면에 투사되는 타원을 계산합니다 (평면-콘 교차로의 타원). 그런 다음 교차점에서 TextRecoordinate 파생 상품을 사용 하여이 타원을 텍스처 스페이스로 투영합니다. 이제 나는 텍스처의 어느 부분이 내 픽셀 아래에 있고이 영역을 서브 샘플링 할 수 있습니다.

또한 Ripmaps를 사용하여 품질을 향상시킵니다. Texturespace의 타원 크기를 기준으로 Ripmap 레벨을 선택했습니다.

다른 팁

Ray Tracing을 사용하고 있기 때문에 "오류"의 양에 따라 샘플링을 동적으로 변경하는 고품질 필터링을 찾고 있다고 생각합니다. 이 가정을 바탕으로 나는 "Ray Differentials"를 살펴 보겠습니다. 여기에 좋은 논문이 있습니다. http://graphics.stanford.edu/papers/trd/ 그리고 그것은 굴절과 반사와 같은 효과를 고려합니다.

자신에 대한 귀하의 대답은 올바른 접근 방식처럼 들리지만 다른 페이지를 우연히 발견 할 수 있으므로 요청 된대로 리소스 링크를 추가하겠습니다. mipmapping (ripmapping은 기본적으로 고급 mipmapping)에 대해 논의하는 것 외에도, 파생 상품 및 MIP 수준 선택에 대한 반사 및 굴절의 영향에 대해 논의합니다.

호만 Igehy. "추적 광선 차이." 1999. Siggraph의 절차. http://graphics.stanford.edu/papers/trd/

자세히 읽으면 Rehno Lindeque 가이 논문을 언급 한 것을 알 수 있습니다. 처음에는 그 방법이 샘플링의 오차를 기반으로 동적으로 샘플을 동적으로 샘플링한다고 말하면서 올바른 참조라는 사실을 깨닫지 못했습니다. 필터링은 픽셀의 발자국의 크기에 따라 수행되며 설명한대로 하나의 광선 만 사용합니다.

편집 : 유용 할 수있는 또 다른 참조 ( http://www.cs.unc.edu/~awilson/class/238/#challenges ). "텍스처 좌표의 파생물"섹션으로 스크롤하십시오. 그는 표면에서 화면으로 텍스처 파생물을 뒤로 매핑 할 것을 제안합니다. 나는 이것이 반사되고 굴절 된 광선의 경우 부정확 할 것이라고 생각하지만 구현하기가 더 쉽고 1 차 광선에서는 괜찮을 것입니다.

나는 당신이 의미한다고 생각합니다 MIPMAP'ing.

여기에 있습니다 기사 그것들을 사용하는 것에 대해 이야기합니다.

그러나 Nether는 사용할 MIPMAP를 선택하는 방법을 말하지만 종종 혼합됩니다 (더 크고 작은 MIPMAP).

다음은 더 많은 기사가 있습니다 Google 어스의 작동 방식, 그리고 그것은 그들이 지구를 어떻게 미리 맵핑하는지에 대해 이야기합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top