Dev/Computer Graphics6 [Nori] Assignment 5: Path Tracing, Microfacet Models, and Multiple Importance Sampling #2 --- 2021/6/25 수정 : 코드 관련 부분 삭제 지난번 포스팅에 이어 Assignment 5를 진행한다. 이번 포스팅에서는 간단한 Path Tracing을 구현한다. 2. path_mats Brute force path tracer (nori) Path Tracing은 렌더링 방정식을 제안한 Kajiya가 이를 푸는 방법으로 제시한 방법이다. Assignment 4(#1, #2)에서 광원 중 하나를 고르고, 그 위의 점을 sampling하고, 등의 복잡한 과정을 거칠 필요가 없이 단지 렌더링 방정식을 풀기만 하면, 오히려 Assignment 4에서는 볼 수 없던 전역 조명, caustics 등의 현상을 저절로 렌더링할 수 있다. 먼저 PathSimpleIntegrator를 만들기 전에, Emitt.. 2019. 7. 4. [Nori] Assignment 5: Path Tracing, Microfacet Models, and Multiple Importance Sampling #1 --- 2021/6/25 수정 : 코드 관련 부분 삭제 이번 Assignment에서는 새로운 Integrator인 Path Tracer와 불투명한 재질을 나타내는 Microfacet Model, 그리고 multiple importance sampling을 이용한 path tracer를 구현해본다. 특히 이번 포스팅에서는 Microfacet Model을 구현할 것이다. 시작하기 전에, 내가 이때까지 진행했던 자료는 nori가 아니라 nori-old이다. 물론 최근 자료(nori)로 진행하면 좋지만, 실제로 수업에 쓰이는 자료이다 보니 모든 Assignment를 볼 수 없었고 매 학기마다 천천히 공개가 되기 때문에 nori-old로 진행했었다. 그런데 nori-old와 nori의 진행 순서나 내용이 조금 다.. 2019. 5. 11. [Nori] Assignment 4: Distribution과 Whitted-style Ray Tracing #2 --- 2021/6/25 수정 : 코드 관련 부분 삭제 이번 게시글에서는 지난번 게시글에 이어 네 번째 Assignment를 마저 진행해본다. 3. Whitted-style ray tracing (20-01-07 추가 : 틀렸던 부분이 많아서 수정한 부분이 많음.. 레포지토리 참고하기) Nori를 같이 진행하고 있는 분이라면 순서가 4번이랑 바뀐 것을 알 수 있다. 나는 실제로 진행 순서를 바꿔서 구현했는데, 왜냐하면 dielectric을 테스트하기 위해서 지금 진행하는 Whitted-style ray tracing이 필요하기 때문이다. 내가 구현한 dielectric을 확인하지도 않고 다음 단계로 넘어가기는 싫어서 이렇게 진행했다.. Whitted-style ray tracing은 Tunner Whit.. 2019. 4. 1. [Nori] Assignment 4: Distribution과 Whitted-style Ray Tracing #1 --- 2021/6/25 수정 : 코드 관련 부분 삭제 이번 Assignment는 기존에 사용하지 않았던 `Emitter`, `BSDF`를 이용한 렌더링 알고리즘을 구현한다. Distribution Ray Tracing과 Whitted-style Ray Tracing이다. 시작하기 전에 Assignment 2에서 구현했던 `accel.cpp`와 `accel.h`를 대체하는 코드를 받았다. 내꺼랑 다르게 진짜 빠르다.. 1. Area lights 저번 Assignment에서 다룬 Point Light는 사실 물리적으로 불가능한 형태의 광원이다. 모든 물체는 면적이 있기 때문이다. 여기서는 조금 더 현실적인 Area Light를 구현하기 위한 준비를 한다. XML 파일에서 Area Light는 다음과 같이 .. 2019. 2. 15. 이전 1 2 다음