본문 바로가기

Dev/Theory5

렌더링 방정식 (Rendering Equation) (BSDF 포스팅에서 이어짐) Rendering Equation은 요즘 쓰이는 거의 모든 렌더러가 기본으로 하는 이론이다. 렌더링을 한다는 것은 곧 이 방정식을 푼다는 것과 같고, 여러 가지 렌더링 알고리즘들은 대부분 이 방정식을 얼마나 빠르고 효율적으로 풀 수 있는지에 그 초점을 둔다. Scene 안의 어떤 물체의 표면에 있는 점 x, 그리고 x를 보고있는 카메라를 생각해보자. 광원에서 출발한 빛은 Scene안에서 반사되고 투과되면서 우연히 점 x로 향할 것이다. 어떤 빛은 어떤 경로를 통해서 x로 오고, 다른 빛은 다른 경로를 통할 것이고, 그 경로의 경우의 수는 무수히 많을 것이다. 하지만 결국 x를 보고 있는 카메라는 x로 들어오는 빛을 보는게 아니라, x에서 카메라 방향으로 반사된 빛만을 볼 것.. 2019. 7. 3.
재질을 표현하는 방법 : BRDF, BTDF, BSDF 우리 주위의 물체들은 다양한 재질과 그에 따른 특성을 가지고 있다. 이를테면 우리는 투명한 물이나 유리 너머에 뭐가 있는지 볼 수 있지만 조금씩 다르게 보이고, 거울 너머를 볼 수 없지만 거울에 비치는 물체를 볼 수 있다. 금속은 내가 보는 방향에 따라 색이 밝아지기도 하고 상대적으로 어두워지기도 하지만, 천으로 만든 옷은 어떤 방향으로 봐도 색깔이 크게 달라지지 않는다. 재질마다 다르게 보이는 이유는 각 재질이 각기 다른 방식으로 빛을 반사하고, 다른 비율의 빛을 흡수하고, 그 나머지를 다른 방식으로 투과시키기 때문이다. 간단한 예시를 보자. Specular는 정반사다. 들어오는 모든 입사광을 특정 반사각으로 반사시킨다. 거울이 이에 해당된다. Diffuse는 Specular와 대비되는 난반사다. 입사.. 2019. 6. 27.
몬테카를로 적분 (Monte Carlo Integration, MC Integration) 이번 포스팅의 주제는 Nori assignment 3에서 쓱 지나쳤던 몬테카를로 적분이다. 며칠 전부터 TU Wien에서 올라온 Rendering/Ray Tracing 강의를 보고 있는데, 여기 교수님이 말씀하시기를, 이 이론은 정말 정말로 중요하고, 잘 기억은 안 나지만 중요한 수학 이론 10개를 꼽으라면 항상 손가락 안에 든다고 하셨다. 나도 확실하게 잘 알던 내용도 아니라서, 내가 이해한 나름대로 정리하려고 한다. 살짝 TMI 같지만 이 이론은 맨해튼 프로젝트를 진행할 때 복잡한 적분식을 풀려고 고안되었다고 한다. 여기서 말하는 적분식은 어떤 종류를 말하는 걸까? 적분식을 닫힌 형태(closed-form)로 풀 수 없을 때 쓴다고 하는데, 적당히 풀기 어려운 식으로 이해했다. 그래픽스를 공부하는 입.. 2019. 6. 27.
빛이 다른 매질로 갈 때 : 스넬의 법칙, 프레넬 계수 (Snell's Law, Fresnel Coefficient) Nori 4번째 Assignment중에 Dielectric을 구현하는 과정이 있다. Dielectric은 말 그대로 전기가 통하지 않는 물질인데, 예를 들면 유리, 기름, 물(순수한), 그리고 공기가 있다(그래픽스의 입장으로 내가 이해한 바로는 투명한 물질을 일컫는 말인데, 확실하지는 않다). 일상 생활에서 쉽게 확인할 수 있듯이, 이런 물질들로 들어오는 빛은 일부는 반사되고, 일부는 물질 안으로 투과된다. 스넬의 법칙과 프레넬 방정식을 이를 분석하는 데에 유용하게 쓸 수 있다. 1. 스넬의 법칙(Snell's Law) 스넬의 법칙은 다음과 같이 정의된다. i는 입사(incident), t는 투과(trasmitted)의 뜻을 갖는다. η는 index of refraction(굴절률)인데, 이는 빛이 매질.. 2019. 3. 12.