Using sRGB colorspace with OpenGL/OpenGL ES

안드로이드 기기에서만 화면이 어둡게 나와서 안드로이드 쪽 sRGB 렌더링 관련 기능을 끄고 있었는데 이번에 고쳐보려고 관련 OpenGL spec 문서도 다시 읽어보고 깨달은 바가 있어 기록으로 남긴다. 크게 sRGB 컬러 스페이스를 고려한 렌더링은 두가지로 나눠서 보면 되는데, 첫째는 컬러 스페이스의 디코딩 (sRGB -> Linear) 과정이고, 둘째는 인코딩 (Linear -> sRGB) 과정이다. 우선 일반적인 이미지 파일은 sRGB…

Continue reading →

Path Tracing 기본 수식

Path Tracing 을 구현할 때 필요한 기본적인 수식을 정리해 보겠습니다. 미소 표면 에서 방향으로 발산하는 radiance 는 다음과 같이 쓸 수 있습니다. (1)   는 표면이 발광하는 물체일때 직접적으로 발산하는 radiance 고, 은 모든 방향에서 들어오는 가 BRDF 에 의해서 반사되는 radiance 를 나타냅니다. 식으로 풀어쓰면, (2)   위의 식만으로 Path Tracer 를 구현하자면 광원에…

Continue reading →