bsdf (2) 썸네일형 리스트형 2021.08.01 개발 일기 - 제대로된 NEE의 적용 이전까지 렌더러에 직접광과 관련된 기능을 추가하고 있었다. 이 부분을 책과 코드에만 의존해서 작성을 하다보니, 정확히 이해하지 못하고 잘못된 일을 하고 있었다. 우선 7월 29일날 작성한 일기에는 기존의 패스트레이싱의 방식이 잘못되었다고 작성했지만, 이는 잘못된 방식이 아니었다. 기존의 방식은 단순 BSDF 샘플링을 통해서 이미지를 만들어내는 것이기 때문에, 이미지의 분산이 높았을 뿐이었다. 이를 왜 잘못된 방식이라 생각한 이유는 PBRT 코드에서 패스트레이싱에 NEE(Next Event Estimation) 방식을 채용했고, 이로 인해 코드의 구조가 약간 달랐던 것이었다. Physically Based Rendering 책에는 이런 NEE에 대한 설명이 직접광에 대한 계산 설명 부분에 같이 들어있기 때.. 2021.7.25 개발 일기 - 코넬 박스 구현과 뻘짓 1주일 전에 레이트레이서에 쓰레드 풀을 적용했다. 그 후, 여러가지 샘플링 기법을 적용해서 렌더러 부분을 최적화 시킬 예정이었다. 그런 과정에서 우선 기존의 렌더러에 존재했던 문제를 해결했어야 했다. 패스트레이서를 구현하고, 사실 멀티프로세서를 코드를 빠르게 구현해보고 싶어서, 렌더러의 세세한 부분을 작업을 하지 않았다. 특히 적분기의 기능을 구현할 때, pdf를 전혀 고려하지 않은 코드를 작성했다. 그러다보니, 샘플링 기법에 따라서 씬의 밝기가 바뀌는 현상을 겪었다. 처음 이 문제를 보고, pdf(probability density function)를 전혀 고려하지 않아서 그렇게 되었다는 것은 알았지만, 이 부분을 작업하기가 너무 귀찮아서 한동안 Python의 matplotlib를 공부하기 시작했다. .. 이전 1 다음