2012-11-19 2 views
2

광선 추적의 경우 빛을 굴절시키는 물질을 통과하는 그림자 광선 (또는 명시 적 광선 경로)을 어떻게 처리해야합니까? 빛을 굴절시키지 않는 투명하고 반투명 한 장벽을 이해합니다. 단지 빛을 약화시킬 필요가 있습니다. 그러나 장벽이 실제로 빛을 굴절 시키면 광선은 일반적으로 광원에서 끝나지 않습니다.가벼운 곡면을 통과하는 그림자 광선

일반적으로 광원에서 점까지의 명시 경로는 굴곡을 설명하기 위해 다른 경로를 따라야합니다. 일반적으로 입사광 (각도, 이동 거리 등)을 변경하는 경로입니다.). 그래서 그 길을 찾아야합니까? 그렇다면 어떻게해야합니까?

내가 고려한 한 가지는 명시적인 경로가 가벼운 벤더와 교차하는 지점까지 계속 진행 한 다음 광원에 대한 새로운 명시 적 광선을 사용하여 경로를 구부리고 확장하는 것입니다 (다른 광원과 교차하는 경우 계속 진행합니다). 광 절곡 경계). 그러나 광 굴곡 표면에서 광원까지 명확한 경로를 취할 수는 없습니다. 구부러지는 것을 고려하지 않기 때문입니다.

하나의 굴절면이 있다면 빛을 굽히는 방식에 기반한 시스템을 해결할 수 있고 빛에서 표면까지의 광선을 발견 할 수 있고 점에서 표면까지의 광선을 찾을 수 있습니다. 각 광선 다른쪽으로 구부릴 것입니다. 그러나 임의로 많은 굴절면이 있다면, 다른 모든 굴절면을 어떻게 구부릴 지 알기 전까지 통과 할 수있는 물체를 실제로 알지 못합니다.

+0

당신은 굴절률 (또는 합리적으로 유사한 일부 발견)를 모델링하고이 자료를 통해 여행의 기간 동안 광선의 방향을 변경하고 조정해야합니다 그것은 다시 출구로 (또는 내부적으로 반영되거나 ...). – twalberg

+1

광선의 굽힘을 모델링하는 것은 실제로 문제가되지 않습니다. 문제는이 특정 광선이 빛에 도달하지 못하게하는 것입니다. 더 중요한 것은 빛으로부터이 지점까지의 경로가 있는지 없는지를 알아야 할 필요가 있다고 생각합니다.하지만 발생할 수있는 굴절을 고려하여 어떻게해야하는지 잘 모르겠습니다. – brianmearns

+0

같은 질문이 있습니다. 굴절 된 광선 계산을 구현했지만 여전히 굴절 및 수렴으로 인해 발생하는 하이라이트를 시뮬레이션 할 수있는 방법이 없습니다. –

답변

1

카메라에서 시작하는 단방향 재귀 적 광선 추적을 수행하는 경우 시뮬레이트하려는 빛 경로 유형을 시뮬레이션하는 알려진 방법이 없습니다 (빛에서 거울 반사 또는 굴절에서 "일반"표면으로 "보통"을 확산 또는 광택으로 읽음).

아래 광자 매핑을 통해 생성에 무늬 이미지가 같은 Bi-directional path tracing 또는 Photon Mapping

의 양방향 접근 방식과 광원으로부터 시작하여 추적 경로를 포함하는 기술을 사용해야합니다

. 면밀히 살펴보면 풀 구분 기호가 풀 바닥에있는 화강암에 그림자를 드리 우는 것을 볼 수 있습니다. (나는 더 나은 데모 이미지를 생성하고 편집하지만, 이것이 내가 빠른 검색으로 찾을 수있는 최선의 하나 인 것이다) MikeMx7f 말했다 @ 것 외에도 Shadows in caustics

1

을, 당신이 실제로 수행해야합니다 무엇이 달려있다 당신의 특정한 광선 추적 "기술"에. 다음의 모든 사항은 지나치게 단순화되어 있습니다.

  • 일반적인 방법을 추적 정직 단방향 whitted 스타일의 선을하고 그것이 당신의 교차 지점과 광원 사이에 그림자 캐스팅 객체를 칠 때 단지 그림자 광선을 가정하는 것입니다.

  • (단방향) 경로는 일반적으로 단지 교차로의 요점에서 반구 안쪽 방향의 많은을 샘플링하고 특정 조건이 충족 될 때까지 그 차 광선 추적 1을 추적하고 (최대 깊이, 히트 "광원 "- 그것은 방출 물질이다).

  • 광자 매핑을 수행 할 때 굴절 개체로 인한 부식을 장면 지오메트리 전체에 저장된 광자를 통해 얻습니다. 즉, 교차점에서 들어오는 빛을 근사하기 위해 주변에있는 특정 수의 광자를 수집하는 것입니다. 그러나 반사 표면에 대해서는 특별한주의가 필요합니다.

Path Tracing