Dev/Computer Graphics6 [Nori] Assignment 3: MC sampling과 Ambient Occlusion --- 2021/6/25 수정 : 코드 관련 부분 삭제 이번 Assignment는 warp.cpp의 함수들을 구현하고 두 가지 간단한 렌더링 알고리즘을 다룬다. Part 1. Monte Carlo Sampling 렌더링을 할 때 2d Point를 여러가지로 변환하는 경우가 많다. 여기서는 squareToTent, squareToUniformDisk, squareToUniformSphere, squareToHemiSphere, squareToCosineHemisphere, squareToBeckmann과 각각의 PDF를 구현한다. 1.1 squareToTent 2d Point를 Tent Distribution으로 mapping하는 함수이다. Tent Distribution은 다음과 같이 나타난다. 이 Pr.. 2019. 2. 15. [Nori] Assignment 2: Octree 만들기 --- 2021/6/25 수정 : 코드 관련 부분 삭제 2번째 Assignment는 Octree를 만들고, 그걸 이용해 렌더링 시간을 많이 단축시켜보는 것이다. Octree는 이름에서 알 수 있듯이 최대 8개의 노드를 갖는 트리를 말한다. 출처 : 위키피디아 왼쪽의 육면체처럼, 한 공간을 8개의 구역으로 나눌 수 있다. Ray tracing을 할 때는 하나의 ray가 물체의 어느 표면에 부딪힐지를 찾아야 하는데, 이 충돌 지점을 전체 공간이 아니라 나누어진 구역에서만 찾아 렌더링 시간을 많이 줄일 수 있다. 구현 Octree의 노드는 아래 멤버들을 갖는다. - BoundingBox - face의 번호를 저장하는 vector - child 포인터 8개를 저장하는 vector - depth Ray traci.. 2019. 2. 15. 이전 1 2 다음