경로 보간에 Catmull rom spline, 회전 보간에 Spherical Linear Interpolation 사용해서 카메라 워크 만들어봄! 나중에 카메라 워크 시작~끝 구간 동안 프레임/Pass 별 소요 시간 측정하는 프로파일링 데이터도 뽑을 수 있도록 만들어야지


렌더링 백엔드는 OpenGL, 최종 렌더링 해상도(백버퍼 해상도)는 1920x1080, 평균 프레임 71(frame/s), Voxel 정보 담고있는 3D 텍스처 해상도는 128x128x128


더 높은 해상도에서도 할 수 있는데 fully dynamic 하게 만들려면 지금 최적화 수준으론 128x128x128이 최대더라.. 256x256x256 이상 부터는 실시간으로 하기 조금 힘든듯..


 그리고 Indirect Specular 근사화 하는데는 GGX Importance sampling 사용했는데, 영상에서는 샘플 한개만 쓰고 표면 roughness의 제곱으로 Cone tracing 할때 cone aperture로 한 3도~15도 정도 사이를 lerp해서 정해줘서, 샘플이 한개인데도 rough한 surface에서 좀 더 좋은 결과를 뽑아낼 수 있었슴.. 물론 sampling 갯수를 늘리면 더 좋아지지만.. 4~8개되면 거의 프레임 1~20넘게 떨어져서 패스 ㅋㅋ


 굴절도 cone tracing 사용해서 임시로 구현해봤는데 일단 표면 reflection 없이 순수하게 refraction 하는 경우에만 만들어 놓았음 (에너지 보존 법칙을 만족하는 방향으로 나중에 고쳐볼려고.. 일단 생각하고있는건 Disney BSDF)


 아직까진 1st bounce만 고려해서 결과물이 조금 어두워서 완전히 Physically correct 하게 만들진 않았고, Indirect diffuse 세기만 2배정도 해주고 빛 에너지 감쇄도 퐁 반사 모델이랑 비슷하게 거리 제곱에 반비례가 아니라 그냥 거리에 반비례하고 추가 상수만 곱해준 1차 감쇄 형태로 넣어뒀음 ㅋㅋ 그래도 좀 더 이쁜 결과볼려면 Indirect illumination term을 좀 더 밝게 줘야할 것 같긴해


 영상으로 녹화하니까 좀 어둡게나오는거보니 gamma 값도 파라미터화 시켜버려야겠다