Redshift _ Sampling Theory and Setup
Primary ray or Camera ray
1차 광선을 발사해 지오메트리에 맞으면, 해당 지점에서 다양한 2차 광선(secondary ray) 을 발사한다.
(2차 : GI ray, refraction ray, light ray 등등)
이런 2차 광선이 많을 수록 해당 1차 광선에 대한 효과를 더 잘 샘플링하게 된다. 2차 광선에 의한 데이터는 다시 1차 광선으로 모이게 되고, Adaptive Error Threshold 값에 의해 비교 후 더 샘플링 할지 말지 결정한다.
이런 방식을 몇번씩 반복해서 노이즈를 줄일 수 있다.
일단 버킷의 모든 픽셀이 깨끗해지면, Redshift는 다음 버킷으로 이동한다.
"actually, sample the effects better for this one particularly camera ray.
you could almost think of the whole thing here. as a loop, all past can happen again and again clean of a pixel.
once every pixel in a bucket is clean, Redshift moves on to the next bucket."
과거에는 anti-aliasing을 위해 이 1차 광선 더 많이 필요로 했고 2차 광선을 덜 필요로 했었지만,
we would require more these camera rays and less secondary rays.
현재는 anti-aliasing 을 따로 계산하지 않기 떄문에 보다 적은 1차 광선과 많은 2차 광선을 필요로 한다.
Unified sampling
해당 옵션에서 samples Min, Max 는 발사되는 Primary ray 의 최소, 최대 값을 의미한다. 발사되는 기준은 adaptive Error Threshold 수치에 의해 정해지며, 수치를 기준으로 주변 샘플링된 값과 비교후 더 발사를 해서 노이즈를 줄일것인지 그만 발사할 것 인지를 판단한다.
수치가 높을수록 노이즈가 많고 렌더링이 빠르다.
기본값은 0.01 이며, 대부분의 씬에 괜찮은 값이지만, 때때로 조절해 사용할 경우도 있다.
*Redshift Render viewer 에서 Ctrl + 1 버튼을 누르면 100% 로 되돌아 온다.
Secondary rays
Light 혹은 RS material, GI 등의 다양한 항목에 sample 값을 지정하는 곳이 있다.
해당 부분이 2차 광선의 수라고 보면 된다.
대부분 maximum 수치 이기 때문에 해당 값 안에서 발사되며 반드시 maximum 수치만큼 발사되는 것은 아니다.
샘플링을 셋업하는 순서
1. Primary GI 모드를 none 으로 두고 IPR 의 모드를 Clay 로 변경한다.
2. 씬에 사용된 Light 을 모두 선택한 뒤, 하단의 sample 의 수치를 2배수로 변경해 나면서 noise 가 없어질 때까지 올려준다. *Light의 Shadow noise 를 줄여나가는 과정
3. 이제 GI 를 Brute Force 로 선택하고 Number of rays 의 숫자를 2배수로 올려가면서 noise 가 보이지 않을 정도로 올려준다.
4. Refraction 이 들어간 재질을 선택 한뒤, RS material 의 Refraction/Transmission - sample 수치를 2배수로 올려가며 조절한다.
5. 마찬가지로 다른 항목에 대해 sample 수치를 2배수로 올려가며 조정한다.
* 모든 항목이 같은 수준의 sample 값을 가지게 하려면 Render setting 의 Basic - Sampling Override 항목에 원하는 속성의 sample 값을 지정하면 해당 속성에 동일한 sample 수치가 적용된다.
Motion Blur Setting
1. Render setting 에서 Motion blur 를 Enable 시켜 준다.
**해당 효과를 확인 하기위해서는 IPR 상태에서는 확인이 불가능 하며, 옆에 Render 상태로 진행해야 알 수 있다.
2. Unified Sampling 의 sample max 수치를 올려가면서 noise 가 보이지 않을때까지 진행한다.
Anti Aliasing Setting
1. Refraction 이 들어간 부분에 region 을 걸어서 noise 가 보이지 않을 때까지 올려준다.
이렇게 진행되면 어느정도 큰 틀은 잡혀 지게 된다.
Sample 의 Min Max 수치가 정해지고 해당 씬은 수치 안에서 필요한 샘플을 분배하게 되며, 이후 부족한 재질이나 속성에 대해 샘플 수치를 더 지정해 주면 된다.
*************
Alternative Approachs
우리는 언제나 렌더링 시간과 샘플링 또는 노이즈 리덕션과 같은 균형을 잘 맞춰야 한다.
Adaptive Error Threshold 의 수치를 0.01 단위로 높이면, 렌더 타임이 굉장히 많이 단축이 되는데 노이즈가 심해진다.
해당 옵션을 올리고 Denoise 를 조절하면서 노이즈의 정도를 맞춰나가보는 방법도 있다.
영0상에서는 거의 샘플수치를 1024~ 2048 이상으로 설정하고 Adaptive Error Threshold 수치를 높여가면서 조정하는 방법을 제안하고 있다.
*************
강사는 모션블러나 Dof 가 강할 수록 많은 샘플링 수치를 점점더 높여가는 방식을 취한다.
또한 Sample max 의 수치가 Sampling override 와 동일 해야한다.
-
해당 내용은 제가 강좌를 보고 기억해 두기 위해 정리한 내용입니다.
본문 내용중 강좌와 다른 부분이 존재 할 수 도 있기 때문에 틀린 부분은 댓글로 알려주시면 수정해 놓도록 하겠습니다.
trpl design studio
-